[英]JSONP callback function not working correctly
我有jsonp回调功能。 来自服务器的响应是不确定的。我不知道问题出在哪里。 我为jsonp制作了RND。 我正在发布代码
$.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
。 如果为它分配一个函数,则该函数的返回值应为名称。 给它一个返回undefined
的函数只会破坏事情。
从您的对象中删除jsonpCallback
属性 。 success
处理事情。
其次,该servlet代码将生成:
jQueryCallback23235(chaaaaapiio gya)
这不是有效的JavaScript。 您需要具有真实的JavaScript数据结构作为函数参数。
通常,JSONP响应将由对象文字组成:
jQueryCallback23235({ "something": "chaaaaapiio", "something": "gya")
找到一个用于生成JSON的Java库,并使用该库生成paren的内容,不要尝试手工编写JSON。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.