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を学んでいます.
アップデート
誰かが言ったように、私は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 ファイルにそれぞれ追加しようとしましたが、役に立ちませんでした。これが問題を絞り込むのに役立つ場合、または問題を解決する方法を知っている人がいる場合は、遠慮なくそう言ってください:(