2
내가 IE9에서 유의 한 차이가 JSON 응답을 받고 일을 무너 곳 확실하지 오전 오전 :AJAX 응답이 잘못된 문자가 포함
내 JS (이 http://malsup.com/jquery/form/ 형상 - jQuery를 사용하고) :
var self = this,
options = {
beforeSubmit: this.beforeSubmit,
uploadProgress: this.uploadProgress,
success: this.uploadSuccess,
resetForm: true
},
form = $(this.forms.addNewDocument);
$(form).ajaxSubmit(options);
을
응답을 uploadSuccess
에서 로깅하고 있습니다. 내가 json_encode($myresult)
의 배열을 감싸는 그런
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>"
}
}
그리고 난 다음 내가 얻을 아약스 응답 로그 :
내 PHP에서이 json_encode
사용하기 전에, 나는 점점 오전 응답은
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>"}}
을
IE9에서는 "? ="가 많은 큰 따옴표를 추가하고 있으며 JSON을 일찍 끝내는 것처럼 보입니다. 왜 이런 일이 일어나고 IE9에서만 그렇습니까?
"header ('content-type : application/json');을 추가 할 때" json_encode 전에 IE에서 JSON 응답을 파일로 저장하라는 메시지를 표시합니다. 해당 파일의 JSON은 올바른 형식이지만, 다운로드하는 대신 자바 스크립트로 데이터를 다시 보낼 수 있어야합니까? – Ognami
IE에서 Ajax 요청을 통해 다운로드를 요청하고 있습니까? IE9에서 양식을 제출하는 대신 아약스 요청을 보내는 것이 확실합니까? –
예, IE9에서 Ajax 요청을 보내고있는 것이 확실하지만 응답을 저장하라는 메시지가 표시되도록 콘텐츠 형식에 대한 처리 방법을 모르는 것 같습니다. – Ognami