我的jsonp网址http://host/dummyJsonp?callback=myFunction的内容是:
myFunction("a");
myFunction("b");
myFunction("c");
但是当我运行这段代码时,只调用一次JQuery成功函数:
$.ajax({
url: "http://host/dummyJsonp",
jsonp: "myFunction",
dataType: "jsonp",
success: function( response ) {
console.log( response ); // server response
}
});
JQuery是否在一个请求中支持多个回调?
答案 0 :(得分:0)
使用不同的参数多次调用回调是不可能的。由于ajax调用只发生一次,因此只有一个响应。这意味着您不能使用不同的参数调用多个回调。
如果您希望响应不同,则必须进行三次ajax调用,每次服务器必须给出不同的响应。
实现所需结果的最简单的解决方法是将所有响应放在服务器端的json对象中,如下所示:
{
a:'a',
b:'b',
c:'c'
}
在您的成功功能中,您只需使用所需的结果:
success: function( response ) {
console.log( response.a ); // server response
console.log( response.b ); // server response
console.log( response.c ); // server response
}