为发布请求更改jquery.ajax()中的contentType不起作用

时间:2019-09-18 12:56:59

标签: jquery ajax lighttpd

我正在尝试使用“ charset = ISO-8859-1”将HTTP请求从客户端发送到服务器(ligghttpd 1.4.54)。但这似乎只适用于GET请求,而不适用于POST请求...

使用jQuery进行ajax调用,下面是我尝试更改字符集的代码:

if (method === 'get') {
    $.ajax({
        dataType: 'json',
        url: send,
        success: handleServerResponse,
        error: handleAjaxError,
        contentType: "application/x-www-form-urlencoded;charset=ISO-8859-1"
    });
} else { // if(method === "post") 
        $.ajax({
            type: 'POST',
            url: '/mib/post.json' + interActive,
            contentType: "application/x-www-form-urlencoded; charset=ISO-8859-1",
            data: send,
            success: handleServerResponse,
            error: handleAjaxError,
            dataType: 'json',
            cache: false
        });
    }
};

当我在Chrome(或Firefox)中检查“网络”标签并单击获取请求时,响应和请求标头都包含:

Content-Type: application/x-www-form-urlencoded;charset=ISO-8859-1

但是,如果我单击发布请求,则请求标头包含:

Content-Type: application/x-www-form-urlencoded; charset=UTF-8

据我所知,一切看起来都是正确的,直到在jQuery文件中调用xhr.send为止。但是,一旦请求显示在“网络”选项卡中,请求标头就具有错误的字符集。

一个非常奇怪的事情是,如果我在ajax调用中将“ application / x-www-form-urlencoded”更改为“ application / json”,标头中Content-Type的那部分将更改。但不是字符集...

有什么想法吗?

0 个答案:

没有答案