簡體   English   中英

AJAX jQuery 在 IE8 上成功,在 IE10/Chrome/FF 上失敗

[英]AJAX jQuery success with IE8, fails with IE10/Chrome/FF

我在使用 jQuery 和 AJAX 時遇到了一個非常奇怪的問題。 我的 AJAX 調用在 IE8 上success ,但在 IE10、Chrome 和 Firefox 上error

以下是 Zend Framework 2 中的 PHP 代碼:

$response = $this->getResponse();
$headers = $response->getHeaders();
$headers->clearHeaders()
        ->addHeaderLine('Content-Type', 'application/json; charset=utf-8');
$response->setContent(json_encode($array));
return $response;

$array是一個 PHP 數組。

這是我的 Javascript 代碼:

$.ajax({
    url: "/application/getTypeDossierParPilote/" + idPilote,
    type: "POST",
    async : false,
    success: function(data) {
        LISTE_TYPE_BANDEAU = data;
        ID_PILOTE_SELECTED_BANDEAU = idPilote;
        LISTE_TYPE_BANDEAU_LOADED_BANDEAU = true;                    
    },
    error: function errorHandler(e)             
        ID_PILOTE_SELECTED_BANDEAU = 0;
        LISTE_TYPE_BANDEAU_LOADED_BANDEAU = false;
        LISTE_TYPE_BANDEAU = null;                      
    }                
});

使用IE8時, success ,數據可用。 使用 IE10 時,它會error 雖然,當我的客戶在 IE10 上嘗試這個時,他沒有遇到任何問題,所以我認為它會直接success

我嘗試添加類似dataType: "json",甚至dataType: "html",以檢查 JSON 是否正確,在后一種情況下它會success ,但數據不可用。

當我使用瀏覽器的開發人員模式復制響應正文並檢查http://jsonlint.com/ JSON 是否正確時,我收到以下消息:

JSON.parse:JSON 數據第 1 行第 1 列的意外字符

其中第一個字符是大括號。 這是我得到的 JSON 示例:

{
    "typeDossier": [
        {
            "type": "MED",
            "famille": "AEC",
            "codeType": 1,
            "session": ""
        },
        {
            "type": "HPS",
            "famille": "AEC",
            "codeType": 2,
            "session": ""
        }
    ],
    "aecHps": true,
    "CodeAecHps": "1,2,",
    "tous": "1,2,"
}

希望你能幫我解決這個奇怪的問題。 先感謝您。 問候,

我的問題已修復,是由我的項目配置文件中出現的 BOM 字符引起的。

在這里查看我是如何修復它的: Web 服務器響應生成 UTF-8 (BOM) JSON

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM