我有一个 ajax POST 请求,其中一些数据被传递到服务器端。这在所有浏览器上都运行良好,但如果我有一些特定的字符,它在 IE9 中会失败。例如,通过 POST 发送“John Smith”可以正常工作,但如果我在 IE9 中尝试“Rafał Szukała”(请注意特定的l字母),浏览器无法正确传递它们,因此我最终会收到 band 服务器响应。顺便说一句,Mozilla 可以很好地处理这个字符串。
有什么想法可以解决这个问题吗?
我有一个 ajax POST 请求,其中一些数据被传递到服务器端。这在所有浏览器上都运行良好,但如果我有一些特定的字符,它在 IE9 中会失败。例如,通过 POST 发送“John Smith”可以正常工作,但如果我在 IE9 中尝试“Rafał Szukała”(请注意特定的l字母),浏览器无法正确传递它们,因此我最终会收到 band 服务器响应。顺便说一句,Mozilla 可以很好地处理这个字符串。
有什么想法可以解决这个问题吗?
我看到您正在通过问题上的标签使用 jquery。因此,如果这是您正在进行的jQuery.ajax调用,您可以使用contentType
属性指定数据的内容类型。您需要像 UTF-8 这样的 unicode 类型。
然后需要在服务器端正确解码。
至少这是我最好的猜测。:P
对我有用的解决方案与 Joseph Marikle 提到的非常接近,还有更多细节:
contentType: "application/x-www-form-urlencoded; charset=UTF-8",