这是我的代码。
<iron-ajax auto
id="requestRepos"
url="myurl"
params='{"mycommaseperatedparams"}'
handle-as="json"
on-response="handleResponse"></iron-ajax>
如果我手动点击broswer中的网址,它就可以了。但这个不是。 这是一个GET请求。
答案 0 :(得分:2)
HTTP状态代码406
表示服务器无法返回符合Accept-
标头的表示。来自specs:
请求标识的资源只能生成响应实体,这些响应实体的内容特征根据请求中发送的接受标头不可接受。
有关更多答案,请参阅此处:What is "406-Not Acceptable Response" in HTTP?
这很可能是由Accept
元素设置为application/json
的{{1}}标头。另一方面,浏览器(Chrome)默认使用
iron-ajax
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>
只是一个例子。您可能需要更具体的媒体类型。