$.ajax jsonp跨域parsererror解决办法
$.getjson或用ajax 跨域访问,
服务器是json数据,就是一个连接打开就是json格式的数据,
据我知道的,js本身由于安全问题是不能跨域的,但是服务器那边已经打开了,允许我访问了,
$(document).ready(function(){
alert("data0");
var url="https://nnn.com/bug?auth=220136bb3b1&where=true limit 5";
$.ajax({
url:url,
dataType:'jsonp',
processData: false,
type:'get',
data:"{}",
success:function(data){
//code
},
error:function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
}});
});
alert(textStatus);一直报错parsererror,而不执行success里面的函数
------解决思路----------------------
dataType:'json',
http://www.cnblogs.com/yuwensong/archive/2013/05/28/3103064.html
------解决思路----------------------
你要处理一下返回的结果,在你调用的接口里面处理一下这个结果,具体处理方式你需要加一个callback,context.Response.Write( context.Request["callback"]+"(");
context.Response.Write(“你的数据”);
context.Response.Write(“)”);
------解决思路----------------------
function handle_data(data) {
// `data` is now the object representation of the JSON data
}
---
http://some.tld/web/service?callback=handle_data:
---
handle_data({"data_1": "hello world", "data_2": ["the","sun","is","shining"]});
jsonp 其实是js 的操作,有个回掉函数,你请求url返回如果没有回调就执行不了。
就像2楼上面那样的。
------解决思路----------------------
<script>
$(document).ready(function(){
$.ajax({
url:'http://www.cjihrig.com/development/jsonp/jsonp.php?callback=jsonpCallback&message=Hello',
dataType:'jsonp',
processData: false,
type:'get',
data:"{}",
success:function(data){
alert(data.message);
},
error:function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
}});
});
</script>
你浏览器看看这个地址