ajax 跨域 jsonp对返回的json格式报错"Uncaught SyntaxError: Unexpected token :"

之前的代码

$.ajax({ 

                url: requestUrl+"/mkx/share/querypraise/"+key+"/"+userID+"/1",
 
				   type: "GET",

				   dataType:"jsonp", 

				   jsonp:"callback",	
  
 				   success:function(data){
					   alert(data)
})
返回的数据是{"code":29} 但是报错 **Uncaught SyntaxError: Unexpected token :" **,success里面的alert也不会执行

需要在ajax加入一个 jsonpCallback:"success_jsonpCallback",修改后如下

$.ajax({ 

		url: requestUrl+"/mkx/share/querypraise/"+key+"/"+userID+"/1",

				   type: "GET",

				   dataType:"jsonp", 

				   jsonp:"callback",		

                               
这里加入 jsonpCallback
   jsonpCallback:"success_jsonpCallback",  

				   success:function(data){

					   alert(data)
    
})

此时发送出去的url 就是

 http://asdad.com/mkx/v3/share/querypraise/BJNz2eqQvqIn/100001/1?callback=success_jsonpCallback&_=1476852971578

到此还没有改完,需要在后端修改 因为我们的后端使用 resultfull 所以对于callback不好接收

String result1="";

JSONObject result = new JSONObject();

//自定义callback和前端ajax的jsonpCallback值要对应

String callback="success_jsonpCallback";

//result里面为查询出来需要返回的json数据

result1=callback+"("+result+")";

return result1;
此时ajax返回的数据是success_jsonpCallback({"code":29})

前端就能拿到数据了,到此解决了ajax跨域的问题。

转载于:https://my.oschina.net/u/2611403/blog/760648

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值