从curl到jQuery的$.ajax()函数
From curl to jQuery’s $.ajax() Function
由于平台限制,我正在尝试将curl代码从名为TextRazor的API转换为jquery的AJAX。我已经尝试了社区针对类似问题的许多解决方案,但似乎无法(通过警报对话框)获取任何数据。如果重要的话从调用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代码如下:
$.ajax({
url: "https://api.textrazor.com/",
type: "POST",
dataType: 'json',
data: {
x-textrazor-key: "YOUR_API_KEY",
extractors: "entities,entailments",
text:"Spain's stricken Bankia expects to sell..."
},
success:function(data) {
alert(JSON.stringify(data));
},error: function(xhr) {
alert("<some error>");
console.error(xhr.responseText);
}});
如果有帮助的话,这里有到jsfiddle的链接:jsfiddle.net
感谢您的支持!
我认为您必须将"x-textrazor-key:YOUR_API_key"作为附加标头传递
$.ajax({
url: "https://api.textrazor.com/",
type: "POST",
dataType: 'json',
beforeSend: function(xhr){xhr.setRequestHeader('x-textrazor-key', 'YOUR_API_KEY');},
data: {
extractors: "entities,entailments",
text:"Spain's stricken Bankia expects to sell..."
},
success:function(data) {
alert(JSON.stringify(data));
},error: function(xhr) {
alert("<some error>");
console.error(xhr.responseText);
}});
data: {
x-textrazor-key: "YOUR_API_KEY",
jQuery中的data:括号表示您希望将数据作为POST发送,而您需要将API键作为头发送。
将此字段添加到您的代码中(在URL之后):
headers: {"x-textrazor-key": "YOUR_API_KEY"}
这看起来很接近,但您将头放入POST主体中。我认为应该是下面的。(请注意,您还需要在"x-textrazor-key"周围加引号,因为其中的短划线将被解释为减法。)
$.ajax({
url: "https://api.textrazor.com/",
type: "POST",
dataType: 'json',
headers: {
'x-textrazor-key': "YOUR_API_KEY"
},
data: {
extractors: "entities,entailments",
text: "Spain's stricken Bankia expects to sell..."
},
success: function (data) {
alert(JSON.stringify(data));
},
error: function (xhr) {
alert("<some error>");
console.error(xhr.responseText);
}
});
当然,这里可能还有其他问题。(例如,API可能不支持交叉源请求。)您需要查看浏览器开发工具中的网络选项卡,看看实际发生了什么。
相关文章:
- 另一个Ajax函数触发的Ajax函数不起作用
- 从Ajax函数返回值
- 在成功时操作 AJAX 函数
- 将变量放入ajax函数JQuery
- 将变量传递给ajax函数
- 调用replace()中的ajax函数
- 需要将select标记选项值传递给ajax函数
- 如何让 AJAX 函数处理提交表单
- AJAX函数在没有警报的情况下无法工作
- ajax函数未在C#中返回数据
- ajax函数更改下拉列表值
- 从 ajax 函数从数据库中检索数据值
- 轮询 ajax 函数超出调用堆栈
- 无法从服务器中的 php 调用 Ajax 函数
- 调用 Document.ready 外部的 AJAX 函数
- 如何从 jQuery 中的 ajax 函数中的类访问元素 ID
- 一个Ajax函数能产生另一个Ajax功能吗
- 当用户滚动到底部时,Ajax函数会多次触发
- 为什么不是't此AJAX函数正在更改颜色
- 无法调用ajax函数