发送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}

简单总结:

由于后台响应数据格式错误导致进入到error函数
另附相关博文一篇《一次关于JSONP的小实验与总结》


http://www.taodudu.cc/news/show-4228561.html

相关文章:

  • Laravel -服务器配置-1
  • The package javax.swing is not accessible错误的三种解决办法,亲测有效
  • The package java.awt is not accessible的解决方案
  • java 单元测试 私有成员变量,单元测试时测试一个private私有方法 - - ITeye博客
  • Java11引用org.w3c.dom 时报错The package org.w3c.dom is accessible from more than one module: , java.xml
  • Tez上线部署记录
  • java.lang.reflect.AccessibleObject
  • 日常开发中,你需要掌握的git使用报错解决
  • Robotframework-RED-red.xml引用library的介绍
  • Java安全(二) 反射
  • Client can't access Jboss server, the port is not accessable.
  • linux centos 访问根目录 not accessable
  • 提高Java反射速度的方法以及对setAccessable的误解
  • [lampp] 不能通过互联网连接数据库 MySQL is not accessable via network
  • iPad goodnotes 5 打开很慢“准备自己的资料库,获得更快体验”解决
  • 电容笔用什么品牌比较好?iPad电容笔测评
  • ipad无法充电怎么办_Ipad显示不在充电怎么办
  • iPad 手指触摸与PC鼠标事件
  • 深入了解iPad上的MouseEvent
  • 浅谈ipad阅读类应用设计
  • 10个iPad Air常见小问题及解决方法汇总
  • 免费的ipad编辑php软件下载,免费也很香!8 款免费 APP 打造你的学术型 iPad
  • uniapp开发-公众号h5、小程序、移动app
  • 公众号开发教程整理
  • php微信公众号支付实例教程,PHP微信公众号支付教程(含图文)
  • 微信公众号开发教程(序)
  • 查题公众号搭建教程
  • 七、傻妞对接公众号教程
  • 微信公众号教程-注册发布文章
  • 从零搭建外卖CPS外卖公众号教程,为你带来睡后收入

jsonp请求响应成功,但进入到error函数相关推荐

  1. ajax接口请求成功后走的error函数,提示信息中textStatus 报错为 parsererror问题

    问题原因: 类型的问题,也就是说可能是返回类型出问题了 XMLHTTPRequest对象是基于XML的HTTP请求.XMLHTTPRequest是一个浏览器接口,使得Javascript可以进行HTT ...

  2. http :请求响应报文-web服务-ajax-cors跨域

    node:http 协议:请求响应报文-web服务-url与对象的转化-ajax-cors跨域 1 梳理重点 1.1搭建服务 注意: ① 站点创建完成后,需要通过node命令启动 ② 创建站点的代码如 ...

  3. ajax发不出去请求_Ajax请求发送成功但不进success的解决方法

    1.情况描述:ajax发送成功,后台也成功响应请求,并返回了json数据,通过chrome监听请求也可以看到响应的json数据,但是就是不进success方法,反而跑到error方法中了 前端: $. ...

  4. php ajax sucess 失败,Ajax请求发送成功但不进success的解决方法(图文教程)

    下面我就为大家分享一篇Ajax请求发送成功但不进success的解决方法,具有很好的参考价值,希望对大家有所帮助. 1.情况描述:ajax发送成功,后台也成功响应请求,并返回了json数据,通过chr ...

  5. Springboot跨域 ajax jsonp请求

    SpringBoot配置: <dependency><groupId>org.springframework.boot</groupId><artifactI ...

  6. [前台]---ajax返回200成功,却进入error函数的解决方法

    最近碰到一个问题,就是如题目所说,ajax在调用的时候,明明返回成功了,但js代码却走到了error中,最后发现是我返回的json格式不对,jQuery在1.4后,对ajax返回的json格式有了很强 ...

  7. http状态码 以及请求响应头相关

    1xx消息[编辑] 这一类型的状态码,代表请求已被接受,需要继续处理.这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束.由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非 ...

  8. 五千来多字,就为了聊聊HTTP报文,请求响应头,cookie以及HTTPS加密方式

    靓仔靓女们大家好,我们又见面了,公众号:java小杰要加油,这周来分享一篇关于HTTP协议相关的文章 看完此文可以对 HTTP报文格式.HTTP各种请求头,HTTP响应码. cookie属性以及HTT ...

  9. 请求响应数据?Controler层注解!

    目录 1. 请求 1.1概述 1.2 简单参数 1.2.1 原始方式 1.2.2 SpringBoot方式 1.2.3 参数名不一致 1.3 实体参数 1.3.1 简单实体对象 1.3.2 复杂实体对 ...

最新文章

  1. 大二上学数据结构和操作系统_毕业后的工作比上学要重要得多。 这是数据。...
  2. 程序员的精力呵护指南!来自十年程序员的精力管理经验
  3. xtrabackup 官方原理
  4. php静态文件怎么生成器,[新姿势]我用过的静态站点生成器们
  5. java如何保证redis设置过期时间的原子性_分布式锁用 Redis 还是 Zookeeper
  6. 如何用两个开关控制同一盏灯
  7. 2021中国餐饮营销力白皮书
  8. 怎么在云服务器上布项目,怎么在云服务器上布项目
  9. cocos2dx中的动作
  10. HTML Text Editor
  11. fh 幅频特性曲线怎么画fl_测量rc带通滤波器的幅频特性和相频特性-电子科技大学.ppt...
  12. 魔方口诀(个人备忘)
  13. 用Java输出100内的质数和合数(包含100)
  14. Hutool XML 转JSON 后 parseArray踩坑
  15. 一键修改windows远程桌面3389端口
  16. 财务人员怎么用python_财务人员有必要学习Python语言吗?
  17. PPT动画教程:配色方案
  18. java浮动广告_[Java教程]JavaScript制作浮动广告_星空网
  19. Office开发需要的辅助工具
  20. 找实习、工作的一点浅见

热门文章

  1. 使用C语言来访问ARM寄存器的语法
  2. 商城后台学习/笔记/思考
  3. C/C++ Linux 后台服务器开发高级架构师学习知识路线总结
  4. 凝望深渊,并发控制的尽头
  5. 小游戏——打鱼还是晒网
  6. 十四、策略模式——你要黄焖鸡、手撕鸡、大盘鸡、叫花鸡都可以,指定一个吧
  7. ps图层锁定后如何解锁
  8. ajax——请求消息(request)和响应消息(response)
  9. 8行代码实现发微信撩妹(汉语哦)
  10. 【技术知识】SVAC 2.0安全技术浅析