首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Angularjs请求编码和错误字符(在FF中可以正常工作)

Angularjs请求编码和错误字符(在FF中可以正常工作)
EN

Stack Overflow用户
提问于 2012-07-12 20:11:50
回答 1查看 7.1K关注 0票数 5

根据浏览器的不同,我对请求的编码有一些问题。

下面的转储显示了FF和Chrome之间不同的标题(我删除了所有相等的标题)。查看"search“值的表示形式:

火狐: Ok

代码语言:javascript
复制
Accept-Language: es-ar,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/json;charset=utf-8

POST: {"data":{"size":10,"search":"José","order":"name","page":1}}

Chrome: Not ok

代码语言:javascript
复制
Pragma: no-cache
Cache-Control: no-cache
Origin: http://localhost
Content-Type: application/json;charset=UTF-8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: es-ES,es;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

POST: {"data":{"size":10,"search":"José","order":"name","page":1}}

IE不工作

我尝试在$http中强制使用Content-Type,但是没有结果。两个浏览器中的响应都工作正常。我使用Apache而不是Win 7 "por si las moscas“。

重要提示:请求在发送到服务器之前有错误的格式,上面的头我要从Firebug和Chrome检查中获取。

有什么想法吗?谢谢!

何塞

更新

我将url编码到帖子中,然后在服务器中解码,我注意到使用UTF-8的url解码效果不佳,但使用ISO-8859-1的效果很好。那么浏览器发送的帖子是ISO-8859-1吗?

EN

回答 1

Stack Overflow用户

发布于 2014-04-14 04:50:21

根据w3 spec,当未指定任何内容或不存在ISO-8859-1标头时,字符集Accept-Charset为默认值。这很可能是其他字符集搞砸了。

尝试取消定义该标头:

代码语言:javascript
复制
$http({
   method: 'POST',
   url: '/page.html',
   headers: { 'Accept-Charset': undefined }
})
.success(function(){ /*success fn here*/  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11451563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档