JSONP 和回调函数名称

jsonp and callback function name

本文关键字:函数 回调 JSONP      更新时间:2023-09-26

读完JSONP解释后,我仍然有一些问题。

1)如果你不提供回调函数名称,你只提供?callback=?会发生什么?

2)如果您提供了一个回调函数名称,但您的代码中没有声明具有相同名称的函数,会发生什么情况?

谢谢

1.) 这实际上取决于处理请求的服务器。

2.)您在浏览器中收到"未捕获的引用错误"。例如,这与以下代码段相同:

// b nowhere defined!
b();

jQuery 会将 char 替换为回调函数名称。该名称必须是响应使 jsonp 请求正常工作的函数名称。

$.getJSON('url/?callback=?').success(function(response){
    // Process response data;
});

呼叫例如

http://url/?callback=jQuery325412324_2343224

然后你的服务器需要发回一个回调,比如

jQuery325412324_2343224(['JSON_DATA'])