【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