问一个关于jquery的jsonp的问题

查看:104
本文介绍了问一个关于jquery的jsonp的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

请教一下,如果使用jquery的ajax方法去获得jsonp的话,关于执行回调函数的问题,请看如下代码:

$.ajax({
  url:' jsonp.php?callback=test',
  type: 'GET',
  dataType: jsonp,
  timeout: 3000,
  success: function(data){
    // 返回的时候,执行了success方法,但是这里data是什么内容呢?
    alert(‘load jsonp success’);
  }
});
function test(data){
  alert(data);
}

比如服务器预定返回的是test('123'),这个时候按道理会执行test()函数,alert出123,但是$.ajax中的success方法应该也是会执行的吧,我想问的是:
success方法它里面的data是什么内容呢,难道也是服务器返回的123吗,如果也是123这个内容,是不是就没有必要定义function test() {alert(data)}了,因为在success方法处理返回的数据不是更好吗?

解决方案

其实不用再服务器约定成功返回执行的js方法的,只需要在success回掉方法中去处理就好了。

success方法就是ajax执行成功后默认执行的方法,如果出现其他的错误也可以采用error的失败回掉方法进行监听。

对了,忘记说了,success函数中的参数data(这个data名字是可以自己定义的,str、obj类似于这样形参名的都可以),data的值就是服务器端方法中返回的值,一般返回json,再用js对json数据进行处理即可。

这篇关于问一个关于jquery的jsonp的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆