前端开发

 首页 > 前端开发 > jquery教程 > jquery ajax get success not called; ajax调用返回200,但是没有调用succes

jquery ajax get success not called; ajax调用返回200,但是没有调用succes

分享到:
【字体:
导读:
          管理后台不知道为啥出了点小bug,以前管用的一个功能突然不能用了,看了下数据接口是调用成功了,大周末的,又不好麻烦FE,只好自己看看了。 通过查看源代码发现,使用了jquery里...

管理后台不知道为啥出了点小bug,以前管用的一个功能突然不能用了,看了下数据接口是调用成功了,大周末的,又不好麻烦FE,只好自己看看了。
 
通过查看源代码发现,使用了jquery里的ajax方法,通过get回来的结果并没有按预期的执行success回调。
 
$.ajax({
    url: '/antispammanage/filterSpecial/?kw='+encodeURIComponent(kw),
    type: 'get',
    dataType: 'json',
    success: function(data){
        var d = JSON.parse(data.trim());
        $('.producekw').val(d.kw);
    }
 
查看网络请求,接口是返回成功的。
然后对该方法添加了error回调,打印出返回信息,readystate=4,返回头是200,但是为啥就不success呢。
 
google了下后发现,原来问题出在返回信息的content-Type上,返回的不是json类型,但是ajax方法里指定了类型为json,所以ajax方法在解析json的时候出错了。解决办法有两个:
1.接口返回的header里指定content-Type为json,
2.ajax调用的时候,指定dataType为text,然后自己用JSON.parse进行解析。
分享到:
JQUERY获取当前页面的URL信息
以前在做网站的时候,经常会遇到当前页的分类高亮显示,以便让用户了解当前处于哪个页面。之前一直是在每个不同页面写方法。工程量大,也不便于修改。一直在想有什么简便的方法实现。后来在网上查到可以用获取当前URL的详细信息来判断。所以收集了JQUERY获取URL的函数的资料。 设置或获取对象指定的文件名或路径。 wi...
区别jQuery中height与width
query中有三个获取element高度的方法,分别是:height(),innerHeight(),outerHeght(bool);同样对应的有三个获取element宽度的方法:width(),innerHeight(),outerHeight(bool),这三个方法分别对应怎样的元素属性,如下图所示: 从上面的图可以了解到:height()方法对应顶部style设置的width属性; innerHeight()对应width+paddin...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……