Javascript JSONP回调函数工作不正常
我有jsonp回调函数。来自服务器的响应未定义。我不知道问题出在哪里。我已经为jsonp制作了RND。我是邮寄代码Javascript JSONP回调函数工作不正常,javascript,jquery,json,jsonp,Javascript,Jquery,Json,Jsonp,我有jsonp回调函数。来自服务器的响应未定义。我不知道问题出在哪里。我已经为jsonp制作了RND。我是邮寄代码 $.ajax({ url : 'http://192.168.16.111:8081/MiddleWareUsman/androidServlet', type: "GET", dataType: "jsonp", crossDomain: true, async: fal
$.ajax({
url : 'http://192.168.16.111:8081/MiddleWareUsman/androidServlet',
type: "GET",
dataType: "jsonp",
crossDomain: true,
async: false,
data : {"fname": "chaaaaapiio","lname": "gya"},
jsonpCallback: function(data, status){
alert('callback');
alert(data);
},
success: function(data, status){
alert('sucess');
},
error : function(xhr, ajaxOptions, thrownError) {
alert(thrownError);
}
});
Servlet代码是
String a=request.getParameter("fname");
String b=request.getParameter("lname");
String cb=request.getParameter("callback");
response.getWriter().write(cb+"("+a+" "+b+")");
首先,当您想要覆盖默认函数名时,将使用
jsonpCallback
。如果为其分配函数,则该函数的返回值应为名称。给它一个返回未定义的的函数只会破坏一切
从对象中删除jsonpCallback
属性。在success
中处理事情
其次,servlet代码将生成:
jQueryCallback23235(chaaaaapiio gya)
这不是有效的JavaScript。您需要有一个真正的JavaScript数据结构作为函数参数
通常,JSONP响应将由一个对象文本组成:
jQueryCallback23235({ "something": "chaaaaapiio", "something": "gya")
找到用于生成JSON的Java库并使用该库生成参数的内容,不要尝试手动编写JSON。是否调用了“成功”或“错误”回调?我从未听说过jsonpCallback
是一个可以像您一样使用的选项。请注意,JSONP请求不能同步发生;因此,您的async:false
参数没有实际意义(根据文档);警报(数据);这些都被调用了,错误体也是,但没有安全体我不明白你的意思。你能在代码中指定吗。。我已经研究了很多,但是再次调用错误,againi没有得到servlet方面的信息。我应该如何更改它?首先查找用于生成JSON的Java库。如果我删除这行jsonpCallback:'jsonpCallback'我得到错误Jquery没有被调用