jQuery使用$.ajax()时产生的疑问,请大家帮我指点一下

Nullo_o 2017-08-30 01:58:42
在使用$.ajax()的时候对于success我有使用两种写法,如下:
写法一:
$.ajax({
url: "../../Service/Test.ashx?type=ranking",
data: {
fid: $("#fid").val()
},
async: false,
dataType: 'json',
success: function (data) {

}
});

写法二:
$.ajax({
url: "../../Service/LineCharts.ashx?type=yield",
data: {
fid: $("#fid").val()
},
async: false,
dataType: 'json',
success: succFunction
})
function succFunction(data) {

}

第二种写法在IE里面就莫名的报错了,报错的内容很莫名奇妙:无法获取未定义或 null 引用的属性“LongPosition” 。这个LongPosition是另一个方法里面才有的字段,压根就不会触发执行。
所有想请教一下大家,写法一和二,对于使用success有什么区别
...全文
2946 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2017-09-04
  • 打赏
  • 举报
回复
没什么区别。。没执行succFunction而执行到其他方法说明你自己代码有问题,调用到其他方法了,如果作用域问题访问不到succFunction也不会回调用其他函数的 要么就是你表单提交了,执行了表单action的url地址,这个地址里面js报错

Web开发学习资料推荐
ajax对象属性withCredentials
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
霜月枫桥 2017-09-04
  • 打赏
  • 举报
回复
你把 function succFunction(data) { } 放在ajax的前面试试,还报错吗
zk_Kang 2017-08-31
  • 打赏
  • 举报
回复
有可能是因为ajax的异步请求所影响的,因为方法加载有时如果ajax方法在前,ajax为异步请求,它不知道执行顺序。ajax里面引用的方法还未加载,这时会报方法为null。当然这是我猜的,准确性不知道。
Nullo_o 2017-08-30
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
应该没有区别,你那个错误是访问LongPosition属性的变量的值不对。
但我并没有访问到LongPosition所在的方法。 我一开始用的方法二做的,结果就报错了,然后改成方法一就好了,没有报错了
天际的海浪 2017-08-30
  • 打赏
  • 举报
回复
应该没有区别,你那个错误是访问LongPosition属性的变量的值不对。

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧