[英]From CURL to AJAX XMLHttp
由于平台限制,我正在尝试将curl代码从称为TextRazor的API转换为AJAX XMLHttp。 我已经尝试了社区中类似问题的许多解决方案,但似乎无法获取任何数据,或者只能获取“ 400:Bad Request”。 如果重要的话,从调用该API的文档中可以看到:
curl -X POST \
-H "x-textrazor-key: YOUR_API_KEY" \
-d "extractors=entities,entailments" \
-d "text=Spain's stricken Bankia expects to sell off..." \
https://api.textrazor.com/
我当前的AJAX XMLHttp代码如下所示:
var xhttp = new XMLHttpRequest();
var url = "https://api.textrazor.com/";
var params = "extractors=entities&text=Spain's stricken Bankia expects to sell...";
xhttp.open("POST", url, true);
xhttp.setRequestHeader("x-textrazor-key", "YOUR_API_KEY");
xhttp.setRequestHeader("Content-length", params.length);
xhttp.onreadystatechange = function() {
if(xhttp.readyState == 4 && xhttp.status == 200) {
alert(xhttp.responseText);
}
}
xhttp.send(params);
谢谢你的支持!
您正在使用相同的原始策略 。
由于您是在进行跨域请求并添加自定义标头,因此浏览器在发出请求前先发出预检OPTIONS请求 。
您向其发送请求的服务器不准备响应OPTIONS请求,因此它向您抛出400。
要解决此问题:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.