【Web前端问题】$.ajaxSetup({ })取表单的数据不成功,为什么?

在学习jQuery的ajax遇到了问题:$.ajaxSetup({ })取表单的数据不成功。
代码如下:'

  <form> 

user:<input type="text" name="user">

email:<input type="text" name="email">

<input type="button" value='提交'>

</form>

<script type="text/javascript">

$(function(){

var to=$("form input[type=button]");

$.ajaxSetup({

type:'POST',

url:"file/testAjax.php",

data:$("form").serialize()

});

to.click(function(){

$.ajax({

success:function(response,status,xhr){

alert(response);

}

});

});

})

</script>


testAjax.php:

<?php

echo $_POST['user'].' - '.$_POST['email'];

?>
图片描述


  • 截图显示取的数据为空。
  • 把ajaxSetup这块放在click函数里能取到数据,但是这样ajaxSetup就失去意义了。


小弟不才,请各位指教一下是什么原因。

回答:

我觉得是页面刚加载完的时候,表单里面还没有数据填入呀,ajaxSetup拿到的是刚加载完页面的空值,应该等到click事件的时候取值才对。
还有,ajaxSetup应该用来设置一些不常变动的配置参数,比如请求type为POST,url等,如果data是会变动的,应该放到ajax方法里面。

回答:

不太适应这种分开的写法……也没明白为什么这么写……而且data那里需要click发生之后才会取到值吧?页面ready后应该啥也没有啊……

回答:

$("form").serialize() 中serialize()是对取到的值进行序列化,而你的代码很明显没有取值

以上是 【Web前端问题】$.ajaxSetup({ })取表单的数据不成功,为什么? 的全部内容, 来源链接: utcz.com/a/134394.html

回到顶部