/*$.ajax({
type:"post",
url:path+'ws/wisdomclass/getBaseDataInfo?'+wisdomKey,
dataType:"jsonp",
success:function(json){
that.$Loading.finish();
that.isClassroomreview=json.ws_classroomreview;
}
});*/
$.getJSON(path+'ws/wisdomclass/getBaseDataInfo?callback='+wisdomKey,{id:'111'}, function(json, textStatus) {
console.log(json)
that.$Loading.finish();
that.isClassroomreview=json.ws_classroomreview;
});
最开始使用的getJSON
方法向后台请求接口,之前没有wisdomKey
这个参数,传参的时候一般都在url后面以这样的格式传参{id:'1111'}
,一切正常,但是后期需要在url后面添加wisdomKey
这个参数我发现getJSON
就不好用了,但是使用ajax
以上述格式书写却可以正常请求的数据,请问这是为什么呢?
PS:
(1)getJSON URL后面添加?callback=
可以实现跨域请求
(2)项目开始之前就跟后端沟通好了,所以不存在后端不支持的情况
(3)wisdomKey的值是sys_auto_authenticate=true&sys_token=20171114115229565011837222411089
(4)使用getJSON请求控制台的报错信息
看了一下getJSON的源码
分析了一下,getJSON 在调用get的时候,第四个参数强制了'json',所以没有办法用getJSON来调用JSONP的,直接用 $.ajax吧
====更新分割线,原来是我误会楼主的意思了
jquery 的$.ajax 要害死多少人啊,
再说一次,简单的把 dataType:"jsonp", 改成这样是行不通的,
JSONP 和 JSON完全是两回事,
你把dataType改成 jsonp 也得要后端支持返回JSONP才行,不是简单的改个参数就可以了
我现在有点理解为什么 axios 不支持JSONP了