这两个参数 是设置加载 js文件里的调用函数.
function getPrice() { var res = $.ajax("http://api.money.126.net/data/feed/0000001,1399001", { dataType: 'jsonp', // 期待返回数量类型为 jsonp jsonp: 'callback', // jsonpCallback: 'refreshPrice' // 回调函数名; }); } //setting中三个参数一起组装起来了为: //http://api.money.126.net/data/feed/0000001,1399001?callback=refreshPrice // 所以 当 上面这个js加载进来后, 形式为: refreshPrice({.....});而函数的定义需要 自定义. function refreshPrice(data, status) { var text = data['0000001'].name + ":" + data['0000001'].price + "<br/>" + data['1399001'].name + ":" + data['1399001'].price; $("#current_price").slideUp('fast').html(text).slideDown('slow'); }
但是, ajax()的返回对象类似于Promise,可以后接.done().fail()类定义回调函数. 所以如果后面接 .done() 就
不需要通过jsonpCallback:functionName 设置回调函数的名称.
**结论: ajax使用jsonp套路: **$.ajax("url", {dataType: 'jsonp'}).done(function(data, status)()).fail();
以下是参考文档:
`
在一个jsonp请求中重写回调函数的名字。这个值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,比如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。
**jsonpCallback **String
为jsonp请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。这主要用来让jQuery生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存GET请求的时候,指定这个回调函数名。
Sign in to make a reply
SpringShaw
这两个参数 是设置加载 js文件里的调用函数.
但是, ajax()的返回对象类似于Promise,可以后接.done().fail()类定义回调函数. 所以如果后面接 .done() 就
不需要通过jsonpCallback:functionName 设置回调函数的名称.
**结论: ajax使用jsonp套路: **$.ajax("url", {dataType: 'jsonp'}).done(function(data, status)()).fail();
以下是参考文档:
`**jsonp **String
`
在一个jsonp请求中重写回调函数的名字。这个值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,比如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。
**jsonpCallback **String
为jsonp请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。这主要用来让jQuery生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存GET请求的时候,指定这个回调函数名。