Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 加载的内容在Ajax.load()之后会丢失字符集(UTF-8),但仅在FireFox和IE中使用。Chrome和Opera可以正常工作_Jquery_Ajax_Google Chrome_Firefox_Character Encoding - Fatal编程技术网

Jquery 加载的内容在Ajax.load()之后会丢失字符集(UTF-8),但仅在FireFox和IE中使用。Chrome和Opera可以正常工作

Jquery 加载的内容在Ajax.load()之后会丢失字符集(UTF-8),但仅在FireFox和IE中使用。Chrome和Opera可以正常工作,jquery,ajax,google-chrome,firefox,character-encoding,Jquery,Ajax,Google Chrome,Firefox,Character Encoding,我在网上搜索了好几天,似乎找不到有效的解决办法。问题是我试图从我的域的另一个页面加载一些数据。此页面具有字符集ISO-8859-1。哪个UTF-8应该与兼容。 我先在Chrome上测试过,效果很好,但当我在FireFox上测试时,它不适用于字符集。 我正在将一些类别名称加载到列表中,以便在子菜单中使用。如图所示,只有子菜单有问题。 我用来加载内容的ajax代码如下: var catz = subCats[i].url + " .productSubCategorys a"; var fordi

我在网上搜索了好几天,似乎找不到有效的解决办法。问题是我试图从我的域的另一个页面加载一些数据。此页面具有字符集ISO-8859-1。哪个UTF-8应该与兼容。 我先在Chrome上测试过,效果很好,但当我在FireFox上测试时,它不适用于字符集。 我正在将一些类别名称加载到列表中,以便在子菜单中使用。如图所示,只有子菜单有问题。

我用来加载内容的ajax代码如下:

var catz = subCats[i].url + " .productSubCategorys a";
var fordiv = '#ghostDiv' + i;
//This next line is the function
    $(fordiv).load(catz, {contentType: "application/x-www-form-urlencoded;charset=UTF-8"}, function(){
        var fordiva = fordiv + " a";
        $(fordiva).removeClass("SubCats_Prodlink");
        var arraydims = $(fordiva);
        var d = '.0c' + i;
        if(arraydims.length != 0){
            var di = '#dcu' + i;
            $(d).append('<ul class="dc' + i + ' sub-level" id="dcu' + i + '"></ul>');
            $(di).append('<div id="sscont' + i + '"></div>');
            for(var index = 0; index < arraydims.length;index++){
                var dc = '#sscont' + i; //'.dc' + i;
                $(dc).append('<li><a href="' + arraydims[index] + '">' + decodeURIComponent(encodeURIComponent(arraydims[index].text)) + '</a></li>');
            }
        }       
    });
var catz=subCats[i].url+“.productsubcategoris a”;
var fordiv='#ghostDiv'+i;
//下一行是函数
$(fordiv).load(catz,{contentType:“application/x-www-form-urlencoded;charset=UTF-8”},function(){
var fordiva=fordiv+“a”;
$(fordiva).removeClass(“子类Prodlink”);
var arraydims=$(fordiva);
变量d='.0c'+i;
如果(arraydims.length!=0){
var di='#dcu'+i;
$(d).追加(“
    ”); $(di).附加(“”); 对于(变量索引=0;索引”); } } });
    我曾尝试用字符集传递标头的参数,但它不起作用。为什么ajax函数会删除字符集?我如何修复它?
    希望我提供了足够的信息。

    我在提出问题几小时后就找到了答案。这就是它一直工作的方式。当你放弃时,你可能离答案很近

    无论如何。。答案就在这里:

    有效的方法是:

    //This setup makes sure that the header is correct
        $.ajaxSetup({
            contentType: 'Content-type: text/plain; charset=iso-8859-1',
            // This is the imporant part!!!
            beforeSend: function(jqXHR) {
                jqXHR.overrideMimeType('text/html;charset=iso-8859-1');
            }
        });
    
    放在.load函数前面