0
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 文件中,但无济于事。如果这有助于缩小问题的范围,或者如果有人对如何解决问题有任何想法,请不要犹豫,这样说:(

4

0 回答 0