首頁 >後端開發 >php教程 >javascript - ajax死活不走success,只走error,請求狀態碼為200.

javascript - ajax死活不走success,只走error,請求狀態碼為200.

WBOY
WBOY原創
2016-09-11 11:34:081327瀏覽

求解,如何解決呢?另外一個網域走是OK的,但這個網域死活不走,前端代碼如下:

javascript - ajax死活不走success,只走error,請求狀態碼為200.

後端程式碼如下:

javascript - ajax死活不走success,只走error,請求狀態碼為200.

javascript - ajax死活不走success,只走error,請求狀態碼為200.

回覆內容:

求解,如何解決呢?另外一個網域走是OK的,但這個網域死活不走,前端代碼如下:

javascript - ajax死活不走success,只走error,請求狀態碼為200.

後端程式碼如下:

javascript - ajax死活不走success,只走error,請求狀態碼為200.

javascript - ajax死活不走success,只走error,請求狀態碼為200.

介面沒處理callback吧?

寫法沒有錯,估計是伺服器端回傳的不是jsonp格式,回呼處理失敗了。
$.ajax 預設的jsonp回呼參數是?callback=_XXXX,看看後台處理和回傳是否正確。

伺服器return的值錯了呀 你回傳的是空值啊看起來 如果有一個什麼 {"result":"successful"} 之類的試試?

Javascript:添加

<code class="javascript">$.ajax({
    ....
    jsonp:'jsonp_callback',  <- 指定callback回调函数名
    ....
})</code>

jQuery會使用AJAX GET請求一個 /url/?callback=jsonp_callback 的URL
然後會執行 jsonp_callback(result)的JavaScript的回呼

<code class="php">function(){
    return string;
}</code>

javascript收到的就會是一個String類型的輸出。並不是JSON。不是JSON就DIE掉了。

<code class="php">function (){
    // 这里是callback还是jsonp_callback忘了。具体百度一下
    return $_GET['callback']."(".json_encode($string).")";
    // 实际返回并输出的将会是:  `jsonp_callback("string")`
}</code>

update

javascript - ajax死活不走success,只走error,請求狀態碼為200.

看圖說話:
ajax請求位址為http://baidu.com
實際請求位址為http://baidu.com/?callback=xxxxxxx&_=xxx&_=xxxx

為什麼不用數字代替回內容啊。

dataType與回傳值不符,建議把這個參數拿掉讓jquery自動辨識回傳值。
另外這不是jsonp吧?

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn