Javascript 来自IE9的AJAX响应包含无效字符
我在IE9中得到了一个截然不同的JSON响应,我不确定事情会在哪里分崩离析: My JS(使用jquery表单-): 我正在从Javascript 来自IE9的AJAX响应包含无效字符,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我在IE9中得到了一个截然不同的JSON响应,我不确定事情会在哪里分崩离析: My JS(使用jquery表单-): 我正在从uploadSuccess中记录响应 在我的PHP中,在使用json\u encode之前,我得到的响应是: array(2) { ["values"]=> array(1) { ["categoryId"]=> string(1) "1" } ["template"]=> array(1) { ["b
uploadSuccess
中记录响应
在我的PHP中,在使用json\u encode
之前,我得到的响应是:
array(2) {
["values"]=>
array(1) {
["categoryId"]=>
string(1) "1"
}
["template"]=>
array(1) {
["body"]=>
string(211) "<li id="18"><span class="doc-title">test4.txt</span> <span class="doc- date">9/30/2014</span> <span class="doc-user">Ling Chow</span><i class="fa fa-download"></i><i class="fa fa-times-circle"></i></li>"
}
}
IE9添加了很多单引号,其中有一个“?=”,看起来它提前结束了JSON。为什么会发生这种情况,为什么特定于IE9?使用
标题('content-type:application/json')代码>在php中的json\u encode
之前。这会让IE9意识到您正在返回json,并且不会试图逃避一切。当我在json_编码之前添加“header('content-type:application/json');”时,IE会提示我将json响应保存为文件。该文件中的JSON格式正确,但我需要能够将数据发送回javascript,而不是下载?IE要求您从ajax请求下载一些内容?你确定在IE9中它发送的是ajax请求而不是提交表单吗?是的,我确定IE9发送的是ajax请求,但它看起来不知道如何处理内容类型,所以它只要求我保存响应。
array(2) {
["values"]=>
array(1) {
["categoryId"]=>
string(1) "1"
}
["template"]=>
array(1) {
["body"]=>
string(211) "<li id="18"><span class="doc-title">test4.txt</span> <span class="doc- date">9/30/2014</span> <span class="doc-user">Ling Chow</span><i class="fa fa-download"></i><i class="fa fa-times-circle"></i></li>"
}
}
In IE 9
{"values":{"categoryId":"1"},"template":{"body":"<li id='\"6\"'><span class='\"doc- title\"'>test.txt<\/span> <span class='\"doc-date\"'>9\/30\/2014<\/span> <span class='\"doc-user\"'>Ling Chow<\/span><i class='\"fa' fa-download\?=""><\/i><i class='\"fa' fa-times-circle\?=""><\/i><\/li>"}}</i></i></span></span></span></li>
In IE10/Chrome
{"values":{"categoryId":"1"},"template":{"body":"<li id=\"9\"><span class=\"doc-title\">accredmaster2.html<\/span> <span class=\"doc-date\">9\/30\/2014<\/span> <span class=\"doc-user\">Ling Chow<\/span><i class=\"fa fa-download\"><\/i><i class=\"fa fa-times-circle\"><\/i><\/li>"}}