我尝试使用jQuery的AJAX函数覆盖HTTP请求标头内容。看起来像这样
$.ajax({
type : "POST",
url : url,
data : data,
contentType: "application/x-www-form-urlencoded;charset=big5",
beforeSend: function(xhr) {
xhr.setRequestHeader("Accept-Charset","big5");
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=big5");
},
success: function(rs) {
target.html(rs);
}
});
Content-Type标头默认为“application / x-www-form-urlencoded; charset = UTF-8”,但无论我使用'contentType'还是'beforeSend'方法,它显然无法覆盖其值。 任何人都可以向我提示我如何更改HTTP请求的内容类型值? 非常感谢。
不过,有什么好的文档可以研究JavaScript的XMLHttpRequest的编码处理吗?答案 0 :(得分:2)
根据jQuery文档,charset将始终为UTF-8:http://jqapi.com/#p=jQuery.ajax。我猜对于accept-charset也是如此。
Big5是UTF-8的子集,对吧?因此应该可以对服务器端进行编码和解码。
答案 1 :(得分:0)
您检查过w3.org文档吗?使用Accept-Charset
标头似乎有一些限制。 http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader-method