《PHP實戰:php中使用Ajax時出現Error(c00ce56e)的詳細解決方案》要點:
本文介紹了PHP實戰:php中使用Ajax時出現Error(c00ce56e)的詳細解決方案,希望對您有用。如果有疑問,可以聯系我們。
今天在寫代碼的時候,用到ajax異步獲取數據,在firefox 13.0下一切正常,而在各個版本的IE之下測試IE6正常,IE8卻會報錯 "Error: 由于出現錯誤 c00ce56e 而導致此項操作無法完成".因為firefox是我寫代碼和做測試的瀏覽器,所以一般都會首先保證在它下邊的正確性,firefox下一切看起來都那么正常.PHP應用
我的環境是:js代碼是基于jQuery的、使用了異步加載的方式加載各個js類庫、哀求方式是'GET',返回格式'html';PHP應用
由于之前的工作階段性的完成,所以準備在IE下看看是否正常,一看之下,有點郁悶,沒有反應..數據沒有顯示出來.然后在IE下,F13,發現IE下哀求數據的過程沒有問題,而且在控制面板中也獲取到了數據,但是當我使用$('#id').html(data);往DOM中插入數據時,完全無反應.PHP應用
繼續調試,然后我在$.ajax哀求的error參數選項中,alert其傳遞給回調函數的errorThrown參數時,獲取到了如下錯誤:“由于出現錯誤 c00ce56e 而導致此項操作無法完成.”,這個很關鍵,因為彈出的錯誤是有代碼的,所以這是一個有跡可循的錯誤.PHP應用
這里順便說一句,在firefox下ajax哀求是返回success的,而IE下是返回error的.根據這個錯誤提示,在網上搜索了相關的答案,找到比較有用的說法是編碼不一致.經過查找發現,原來我html頁面的編碼是utf-8,而在我php程序中設置的也是 header('Content-type: text/html;charset=utf-8'); 這都郁悶了,一樣的都沒有問題啊,后來查看頁面源代碼的時候發現怎么是utf8呢,少了一個'-'這個'-'跑哪去了,后來才發現原來nginx配置中設置了charset utf8;強制字符編碼為utf8了, 趕緊加上重啟nginx一切正常...PHP應用
根據這個問題可以總結如下經驗:PHP應用
firefox的容錯能力比IE更強,以HTML5的設計思想來說,firefox表現得更好,對于這樣的容錯能力,是否會造成平安隱患,由于未經過測試,所以暫時不知;
盡量保持程序的各種編碼的一致性,否則可能會出現不可預知的錯誤,推薦使用utf-8;PHP應用
維易PHP培訓學院每天發布《PHP實戰:php中使用Ajax時出現Error(c00ce56e)的詳細解決方案》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。