2012-10-19 59 views
1

我嘗試了幾件事來修復,沒有任何幫助。JSON - 在Internet Explorer 8中不工作

在服務器端腳本

$array['content'] = "test"; 
echo json_encode($array); 

這是工作中的JavaScript。但是

$array['content'] = "<p>test</p>"; 
echo json_encode($array); 

不工作。如果我添加任何HTML標記,它不起作用。 但他們都在使用Firefox和Chrome。

這是處理返回值的js。

function showResponse(responseText) { 
    $('.form_result').html(responseText.formData); 
     alert(responseText.formData); 
} 

function submitButton1() { 

    var options = { 
     beforeSubmit: showRequest, // pre-submit callback 
     success:  showResponse, // post-submit callback 
     dataType: 'json', 
     cache: false 
    }; 

    // bind form using 'ajaxForm' 
    $('#form').ajaxSubmit(options); 
} 

    header("Cache-Control: no-cache, must-revalidate"); 
header("Expires: 0"); 

在php文件中添加了上面兩行。

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 

添加將處理JS的HTML文件上面。仍然沒有用。

可能是什麼問題?另外,我沒有看到IE中的任何錯誤或警告。

+0

如果IE 8原生JSON特性是問題,你可以用https://github.com/douglascrockford/JSON-js – Andbdrew

+0

的正確實現覆蓋它。我如何使用它?我沒有看到任何示例或步驟來實現這一點。我應該只需要包括他們? – Mahesh

+0

https://github.com/douglascrockford/JSON-js/blob/master/json2.js#L162這是你應該修改補丁ie8 – Andbdrew

回答

0

的Internet Explorer 8不支持在其中的jQuery使用 IE8 XMLHttpRequest對象CORS使用XDomainRequest對象

jQuery的默認不支持XDomainRequest。

檢查這個An update is available for the native JSON feature in Internet Explorer 8

+0

我沒有看到任何問題中的任何域的任何提及。你爲什麼認爲這是一個CORS問題? – Andbdrew

+0

所以,沒有使用更新,我該如何解決它?我不希望用戶安裝此更新。 – Mahesh

0

我不知道有什麼問題,但是如果禁用enctype="multipart/form-data"一切工作正常。
我想這是Ajax表格插件的問題。

0

我還沒有試過這個,但是如果你搜索XMLHttpRequest對象存在,並且它沒有,那麼實現你自己的ajax調用。

同時檢查JSON是否存在,如果不包含json.js,只需從github下載並動態添加即可。

相關問題