我正在使用http://smmry.com/api作为一个小项目。我是AJAX的新手并且在使用它时遇到了麻烦。这是我到目前为止所做的:
var a = $.ajax({ type:'POST', url:'http://api.smmry.com/&SM_API_KEY=XXXXXXXX', headers: {'Authorization': '["Expect:"]'}, data: {'SM_URL':'https://en.wikipedia.org/wiki/Human%E2%80%93computer_interaction'}, contentType:'application/json', dataType: 'json', }); console.log(a);
我得到的错误:
XMLHttpRequest无法加载http://api.smmry.com/&SM_API_KEY=XXXXXXXX。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点'null'访问。
我很确定它与标题有关。我不知道该怎么做,如果有人可以帮助我,我会非常感激!
答案 0 :(得分:0)
您遇到的错误与CORS有关。 XMLHttpRequest发送预检请求,SMMRY API不支持该预检请求,并且需要在服务器端启用。你能做什么呢?
您可以通过服务器与他们的API通信,例如一个简单的Node服务器。 然后,您将XMLHttpRequest发送到您自己的服务器,您可以通过允许CORS(这是Node / Express服务器中的一行简单代码)允许预检请求,并将请求转发回SMMRY API并将响应发送回你的网站。这个过程被称为"代理"。