设置jQuery内容类型字段

问题描述:

我想让AJAX POSTing在我的服务器上工作(Python/Django/Nginx/UWSGI)。我遇到的问题是,无论我用什么来避免(设置contentType或使用beforeSend来更改它),jQuery都会自动将“; charset = utf-8”附加到content-type字段。造成这个问题的原因是我的POST现在得到了来自我的服务器的400 - 错误请求响应。但是,如果我使用防篡改数据从Content-Type字段中手动删除“; charset = utf-8”,则一切正常。设置jQuery内容类型字段

这是从Firefox 3.6.12开始的。

有没有人知道我可能会这样做(手动删除“; charset = utf-8”)?或者,谁能告诉我,如果这是一个服务器问题呢?

+0

显示它是一个服务器问题。引用jQuery ajax API“数据将始终使用UTF-8字符集传输到服务器;您必须在服务器端正确解码”。 http://api.jquery.com/jQuery.ajax/ – Josh 2010-12-16 18:52:46

这不是服务器问题。 Firefox总是将字符集附加到内容类型。见this answerthis question

正如接受的问题的答案中提出的我链接你可以sendAsBinary(https://bugzilla.mozilla.org/show_bug.cgi?id=416178#c31)。不过,我没有自己检查一下。