首页新闻找找看学习计划

jq的ajax 跨域,服务器返回200,且有响应数据,但是不运行成功回调,拿不到数据

0
悬赏园豆:100 [已解决问题] 解决于 2019-02-27 20:07

(()=>{

$(document).ready(function(){

    $.ajax({
  
      type: "GET",      //data 传送数据类型。post 传递
    
      url: "http://www.kpitc.com/api/others/Pic",  // yii 控制器/方法
      dataType: "jsonp",  // 返回数据的数据类型json

      // cache: false,      
    
      // jsonpCallback:"cb",
      error:function(er){
         console.log(er);
      },success: function (data) {
        console.log("ok")
        
      }



    });
});

})();

问题补充:

同事用的webpack跨域却能拿到数据

有大神用jsonp拿到数据的吗?救命啊

亲吻冰封火焰的主页 亲吻冰封火焰 | 菜鸟二级 | 园豆:237
提问于:2019-02-25 13:49

jsonp救命

亲吻冰封火焰 8个月前

@亲吻冰封火焰: 你可真逗

丫的 8个月前
< >
分享
最佳答案
1

用jsonp是有特定的格式的,不然拿不到数据,不过话说回来用jsonp跨域不是好方法,在后台服务端设置一下支持跨域,然后前端正常的ajax调用就行了

收获园豆:34
jqw2009 | 小虾三级 |园豆:1891 | 2019-02-25 14:34

返回的不是json数据吗? 后台改不了

亲吻冰封火焰 | 园豆:237 (菜鸟二级) | 2019-02-25 14:39

@亲吻冰封火焰: 返回的数据不是重点,重点是能不能返回数据,jsonp前端和后台代码都是有特定的格式的,你可以百度一下

jqw2009 | 园豆:1891 (小虾三级) | 2019-02-25 14:41
其他回答(4)
0

以前也遇到过 好像是数据格式问题 json 不是jsonp

收获园豆:33
丫的 | 园豆:1575 (小虾三级) | 2019-02-25 14:02

jsonp 是jq的跨域

支持(0) 反对(0) 亲吻冰封火焰 | 园豆:237 (菜鸟二级) | 2019-02-25 14:05

@亲吻冰封火焰: 大哥你不懂别乱说啊 jsonp也不是你这样用啊 服务器端你是怎么写的

支持(0) 反对(0) 丫的 | 园豆:1575 (小虾三级) | 2019-02-25 14:06

@丫的: 我负责前端,后端不是我写的

支持(0) 反对(0) 亲吻冰封火焰 | 园豆:237 (菜鸟二级) | 2019-02-25 14:11
支持(0) 反对(0) 丫的 | 园豆:1575 (小虾三级) | 2019-02-25 14:20

@丫的: 请问什么格式不对啊,我写的代码格式吗

支持(0) 反对(0) 亲吻冰封火焰 | 园豆:237 (菜鸟二级) | 2019-02-25 14:34

后台返回格式不对 如果不能改的话只能加 access-control-allow-headers 了 自己百度吧

支持(0) 反对(0) 丫的 | 园豆:1575 (小虾三级) | 2019-02-25 14:55

@丫的: 后端加这个?还是前端加请求头

支持(0) 反对(0) 亲吻冰封火焰 | 园豆:237 (菜鸟二级) | 2019-02-25 16:59

后端 自己百度啊 百度都不会吗

支持(0) 反对(0) 丫的 | 园豆:1575 (小虾三级) | 2019-02-25 16:59
0

返回数据不符合 json严格模式

收获园豆:33
blurs | 园豆:659 (小虾三级) | 2019-02-25 17:29
0

没有答案,后台无法更改,我放弃了之前的项目,重新用webpack跨域

亲吻冰封火焰 | 园豆:237 (菜鸟二级) | 2019-02-27 20:05
0

JSONP返回的不是json,是一个包含json的js函数,返回成功后使用js调用这个函数

异次元代码 | 园豆:101 (初学一级) | 2019-02-28 11:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册