31选7开奖结果查询 www.vk1c.com.cn 31选7开奖结果查询 > 上网技巧 > 电脑小技巧 > jsonp请求响应成功但进入到error函数

jsonp请求响应成功但进入到error函数

时间:2019-02-24 10:11 作者:QQ地带 我要评论

发送jsop请求,请求发送成功,http状态码为200,但依然进入error函数,纠结万分。
先贴代码:
 
js代码如下:
 
$.ajax({
url:url,
dataType:"jsonp",
// async:false, jsonp不支持async:false
method:"get",
success:function(data){
$("#headDiv").append(headView.htmlBuild(data));
},
error:function(data){
console.info(data);
}
});
服务端代码如下:java实现
 
public String isLogin(HttpServletRequest request,HttpServletResponse response){
try {
String callback = request.getParameter("callback");
 
//此处不应使用map
Map json = new HashMap();
json.put("isLogin", isLogin);
if(isLogin){
Long memberId = LoginStateUtil.getMemberId(request);
MemberVo memberVo = memberService.findById(memberId);
json.put("memberName", memberVo.getUsername());
}
callback += "("+json+")";
return callback;
} catch (Exception e) {
logger.error("系统异常:", e);
return "";
}
}
 
进入error函数,控制打印返回值:
 
Object {readyState: 4, responseText: "jQuery111307915938625407029_1478056043394({isLogin=false})", status: 200, statusText: "OK"}
调整服务端代码
 
public String isLogin(HttpServletRequest request,HttpServletResponse response){
try {
String callback = request.getParameter("callback");
 
//此处有更改
JSONObject json = new JSONObject();
json.put("isLogin", isLogin);
if(isLogin){
Long memberId = LoginStateUtil.getMemberId(request);
MemberVo memberVo = memberService.findById(memberId);
json.put("memberName", memberVo.getUsername());
}
callback += "("+json+")";
return callback;
} catch (Exception e) {
logger.error("系统异常:", e);
return "";
}
}
 
此时请求可以正常响应,在success函数中打印请求返回的data:
 
Object {isLogin: false}

标签: JSONP
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告

699| 940| 25| 168| 138| 434| 574| 520| 458| 367|