淡水狗
2017-08-09 16:14
为什么把 data:{num:$("#txtNumber").val()} 写在 $.ajaxSetup()里面时,验证2一直等于0 。
代码如下
<script type="text/javascript"> $(function(){ $.ajaxSetup({ type:"post", data:{num:$("#txtNumber").val()},//传递数据的参数 success:function(data){ $("ul").append("<li>你输入的" + $("#txtNumber").val() + data +"</li>") } }); $("#btnShow_1").bind("click" , function(){ $.ajax({ url:"http://www.imooc.com/data/check.php" }) }); $("#btnShow_2").bind("click" ,function(){ $.ajax({ url:"http://www.imooc.com/data/check_f.php" }) }); })
而分别放在 $.ajax()里面就正常了。不是传输同一个参数吗??
当你在ajaxSetup中写 data:{num:$("#txtNumber").val()} 实际上是取得当前的输入框的值 ——是一个空的字符串,这种写法相当于写 data:"", 个人认为当触发点击事件的时候,不会再去获取输入框的值,而是采用的全局配置的值。所以说当你用正确的程序去 传入 test 等字符串时,得到的结果应该和你说一样
两个按钮函数部分少了一行代码, 应该是:
$("#btnShow_1").bind("click" , function(){
$.ajax({
data:{num:$("#txtNumber").val()},
url:"http://www.imooc.com/data/check.php"
})
});
点击的部分也要写上data传的的值,不然无法判断
jQuery基础(五)一Ajax应用与常用插件
69100 学习 · 400 问题
相似问题