406(不可接受)铁ajax
这是我的密码406(不可接受)铁ajax,ajax,polymer,http-status-code-406,Ajax,Polymer,Http Status Code 406,这是我的密码 <iron-ajax auto id="requestRepos" url="myurl" params='{"mycommaseperatedparams"}' handle-as="json" on-response="handleResponse"></iron-ajax> 如果
<iron-ajax auto
id="requestRepos"
url="myurl"
params='{"mycommaseperatedparams"}'
handle-as="json"
on-response="handleResponse"></iron-ajax>
如果我在浏览器中手动点击url,它就会工作。但是这个没有。
这是一个GET请求。HTTP状态代码
406
表示服务器无法返回符合Accept-
标题的表示。从:
根据请求中发送的accept标头,由请求标识的资源只能生成具有不可接受内容特征的响应实体
有关更多答案,请参见此处:
这很可能是ironajax
元素将Accept
头设置为application/json
。另一方面,浏览器(Chrome)在默认情况下发送带有
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
其中*/*
位与任何内容类型匹配
要修复此问题,您必须在服务器端工作以允许JSON响应。您也可以尝试显式设置标题,尽管我希望iron ajax无论如何都会覆盖Accept
标题
<iron-ajax headers='{"Accept": "*/*"}' handle-as="json"></iron-ajax>
同样,
*/*
只是一个例子。您可能需要更具体的媒体类型。您是一个救生员<代码>标题=“{”接受“*/*”}”解决了我的问题。非常感谢!我也读了解释。现在我知道了确切的原因。谢谢