使用jquery的ajax的jsonp类型跨域请求数据、始终获取不到返回数据呢 30
使用$.ajax设置dataType="jsonp",跨域请求一个接口,页面会报js错误:SyntaxError:missing;beforestatement写法:fu...
使用$.ajax 设置dataType="jsonp" ,跨域请求一个接口,
页面会报js错误:SyntaxError: missing ; before statement
写法:
function popr(id,apkid,mac,channelid){
//var ctx = "http://192.168.254.220:8082";
var url = ctx+"/apkpop.do";
var data = "popid="+id+"&channelId="+channelid+"&apkid="+apkid+"&mac="+mac+"&popmode="+popmode ;
$.ajax({
cache:false,
type:"post",
url:url,
data:data,
dataType:"jsonp",
success:function(r){
alert(r);
},
error : function(r){
alert('faill');
}
});
}
该请求已经请求成功, 该请求地址会返回一个json数据 {status:1} 成功或失败。
但是就是会报一个上面的js错误, 而且, 始终只会进入 error的方法里面 ,打印 faill。
再次表示请求已经成功。 请求状态码为 200 ;
求大神们解惑。 展开
页面会报js错误:SyntaxError: missing ; before statement
写法:
function popr(id,apkid,mac,channelid){
//var ctx = "http://192.168.254.220:8082";
var url = ctx+"/apkpop.do";
var data = "popid="+id+"&channelId="+channelid+"&apkid="+apkid+"&mac="+mac+"&popmode="+popmode ;
$.ajax({
cache:false,
type:"post",
url:url,
data:data,
dataType:"jsonp",
success:function(r){
alert(r);
},
error : function(r){
alert('faill');
}
});
}
该请求已经请求成功, 该请求地址会返回一个json数据 {status:1} 成功或失败。
但是就是会报一个上面的js错误, 而且, 始终只会进入 error的方法里面 ,打印 faill。
再次表示请求已经成功。 请求状态码为 200 ;
求大神们解惑。 展开
11个回答
展开全部
把这个属性 dataType:"jsonp", 去掉就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
jsonp 只支持get请求 不支持 post
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
参考以下解决方案:
function CrossdomainGet(url, mysuccess, mydata, Qtype) {
$.ajax({
type: Qtype ? Qtype : "GET",
url: url,
data: mydata,
dataType: "jsonp",
jsonp: 'jsoncallback',
success: function (data) {
if (data.errorCode == "0") {
mysuccess(data);
}
else {
//显示错误信息
var errorMessage = data.errors;
myAlert(errorMessage);
}
}
,
error: function (XMLHttpRequest, textStatus, errorThrown) {
myAlert("请求数据异常,状态码:" + XMLHttpRequest.status);
}
});
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请问解决了吗?我也碰到这问题了。。。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
页面会报js错误:SyntaxError: missing ; before statement
看看哪里用了中文的分号。另外在error里面把error信息打印出来。
console.log(r)
看看哪里用了中文的分号。另外在error里面把error信息打印出来。
console.log(r)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询