echo 'function get_estrategias(estrategia,fase){
if(window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
$("#descripciones select").append(xmlhttp.responseText);
}
}
xmlhttp.open("POST", "../resources/get_estrategias.php", true);
xmlhttp.setRequestHeader("Content-type", "application/xml;charset=ISO-8859-1");
parameters="estrategia="+estrategia+"&fase="+fase;
xmlhttp.send(parameters);
}'
此代码在 IE9 中中断。它抛出错误代码 C00CE56E 'unknown encoding' 或类似的东西:http: //support.microsoft.com/kb/304625
我不知道如何解决这个问题,我正在用我知道的粗略的 javascript 基础学习 ajax,但我感觉这只是我似乎无法通过谷歌搜索的 IE 错误中的另一个。
更新
正如有人提到的,我仅使用 jquery 进行了尝试。
echo 'function get_estrategias(estrategia,fase){
$.ajax({
url: \'../resources/get_estrategias.php\',
type: \'POST\',
dataType: \'html\',
contentType: "application/x-www-form-urlencoded; charset=iso-8859-1",
data:{estrategia :estrategia,fase:fase},
success:function(data, textStatus, xhr){$("#descripciones select").append(data);},
error:function(xhr, status, errorThrown) {alert(errorThrown+\'\n\'+status+\'\n\'+xhr.statusText); }
});
}';
我最终遇到了同样的错误 c00ce56e。我在阅读https://forum.jquery.com/topic/fix-jquery-ajax-errors-in-ie#14737000003545233后添加的最后一个错误函数 它产生了一个包含以下内容的弹出窗口
[object error]
error
[object error]
在所有情况下,我都尝试将 'AddDefaultCharset ISO-8859-1' 和 'default_charset = "ISO-8859-1" ' 分别添加到我的本地主机上的 http.conf 和 php.ini 文件中,但无济于事。如果这有助于缩小问题的范围,或者如果有人对如何解决问题有任何想法,请不要犹豫,这样说:(