$.ajax({
url:"http:XXX.XXX.xom/XX.php",
dataType:"jsonp",
processData: false,
type:"get",
jsonp:"jsoncallback",//注意這點:不設置默認爲"callback"
success:function(data){
console.log(data);
},
error:function(XMLHttpRequest, textStatus, errorThrown){
console.log(XMLHttpRequest.status);
console.log(XMLHttpRequest.readyState);
console.log(textStatus);
}
})
報錯提示“parsererror”
查了好多網上所謂的解決方案,寫的好多但是不適用(程序員果然寫不了文章)
問題根源是跨域後ajax是根據get傳統函數調用實現數據獲取的
需要在服務端通過get獲取callback值然後拼接到需要返回的json傳前面
php示例:
<?php
$a['a'] = 1;
$a['b'] = 1;
$callback = $_GET['jsoncallback'];//關鍵是這個。若是在ajax()內設置了jsonp:"jsoncallback",那麼填寫jsoncallback,本王上面設置了,沒有設置則直接填寫callback(默認值)
exit($callback."(".json_encode($a).")");
?>
問題得以解決,希望能對大家有所幫助