ajax请求成功返回error,jquery ajax请求成功,返回了数据,但不进success,而是进入error的问题...

1. 有可能是因为跨域访问导致的,解决方式是使用jsonp,jquery的ajax有一个参数是jsonp,指定一个回调名称,巴拉巴拉后面当然还有好多后台操作之类的,就不介绍了;

2.前端ajax中的dataType指定类型和你后台返回的数据类型不一致导致,或者你的数据中有特殊字符导致

a.关于数据类型不一致的问题,我今天就遇到了,非常的蛋疼;前端我没有设置dataType那么就是默认的类型,我后台返回的是一个字符串:success或者failed来判断执行成功与否;然后问题就来了,各种firebug、httpwatch查看都有数据success返回,他大爷的就是不进入ajax的success;忙活了半天一查后段代码,发现了这个(注:本人使用的是java开发后端)

response.setContentType("text/javascript;charset=utf-8");

看到这个各种桑心啦,各种草它大爷呀。。。。这段代码怎么来的啦,为什么不是我想要的下面的代码啦:

response.setContentType("text/html;charset=utf-8");

原因是我偷了复制的上一个方法的代码,ou no。。。。所以就导致前后数据类型不一致而进入error了。

b. 有可能你前后数据类型是一致的但是还是进入error,那么就有可能你数据格式不正确了。比如json格式,是要严格按照格式来的,不要就出错,这个你要找一些验证json格式的工具来验证一下你返回的json数据格式正确否;还有一种可能是你json格式正确了,但是你json数据中有特殊字符,最最蛋痛的就是有回车之类的字符存在!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值