postman发送请求请求失败,但是同事用浏览器访问能拿到json数据显示在html这是怎么回事
request乱码指的是:浏览器向服务器发送的请求参数中包含中文字符服务器获取到的请求参数的值是乱码;
response乱码指的是:服务器向浏览器发送的数据包含中文字符,浏览器中顯示的是乱码;
乱码产生的原因:不管是request乱码还是response乱码其实都是由于客户端(浏览器)跟服务器端采用的编码格式不一致造成的。以request乱碼为例:浏览器向服务器发送请求因为浏览器与服务器之间的通信实质上是socket流,所以要先将请求参数(字符)转换成字节也就是编码過程,服务器接收到请求参数后进行解码(字节转字符)然后封装到request对象中。如果客户端的编码与服务器端的解码不统一就会导致通過request获取到的请求参数的值是乱码。
服务器发给浏览器的数据默认是按照ISO-8859-1编码浏览器接收到数据后按照默认的字符集进行解码后显示,如果浏览器的默认解码字符集不是ISO-8859-1就出现乱码。
B、通知浏览器服务器发送的数据格式
B、设置服务器端的编码
B、浏览器使用utf-8进行解码
A、设置服务器端的编码
B、通知浏览器服务器发送的数据格式
C、浏览器使用utf-8进行解码
本人就是这样设置的,以防万一;
从浏览器发起的访问方式有三种:在地址栏直接输入URL访问、点击页面中的超链接访问、提交表单访问第一种访问方式浏览器默认将参数按照utf-8进荇编码,后面两种访问方式浏览器将参数按照当前页面的显示编码进行编码所以对于request乱码,只需要在服务器端设置相应的解码格式即可由于访问方式不同,浏览器对参数的编码格式也不同为了方便处理,通过超链接和表单的访问也规定必须是utf-8格式即显示当前页面的編码也要使用utf-8,这样浏览器将统一使用utf-8对参数进行编码
post方式属于表单提交,参数存在于请求体中
get方式提交的参数会跟在请求行中的uri后邊,服务器按照默认的iso-8859-1进行解码这时候解决乱码有两种办法:
办法一:修改服务器端对uri参数的默认编码
例如: 注意:1、设置元素的属性useBodyEncodingForURI=“true”,意思是请求体和uri使用相同的编码格式通过设置这两个属性,既可以解决get方式的乱码又可以解决
加载中,请稍候......
以上网友发言只代表其个人观点不代表新浪网的观点或立场。
我这个是标准的JSON吗为什么火狐瀏览器的JSON插件不识别呢