[英]Why “SyntaxError: invalid label” when trying to use $.ajax to get JSON
我正在尝试使用Viralheat的API来使用jQuery进行情绪分析。
1.当我在浏览器的地址栏中输入此内容时,可以:
https://app.viralheat.com/social/api/sentiment?api_key=1234&text=Schindler%27s%20List
它显示:
{"status":403,"error":"API Key not registered"}
2.使用这些代码行,网页显示错误,我想它会遇到相同的原始策略:
$.ajax({
type: 'get',
url: "https://app.viralheat.com/social/api/sentiment?api_key=1234&text=Schindler's List",
success: function(data){alert(data);},
error: function(){alert("error");}
});
3.当我添加callback=?
进入url和dataType: 'json',
使用firebug,我可以看到与方案1相同的结果{"status":403,"error":"API Key not registered"}
,但网页仍显示错误,并发生错误:SyntaxError:无效标签
$.ajax({
type: 'get',
dataType: 'json',
url: "https://app.viralheat.com/social/api/sentiment?api_key=1234&text=Schindler's List&callback=?",
success: function(data){alert(data);},
error: function(){alert("error");}
});
我怎么解决这个问题?
仅仅添加callback=whatever
jSON API请求的callback=whatever
都不会神奇地将结果转换为JSONP,除非服务实际上支持这样的JSONP选项。
您正在使用的Viralheat API似乎不支持JSONP。 文档没有提到任何类型的JSONP选项。 它提到的唯一选项是API_KEY
和TEXT
PARAMETERS。
正如您所发现的,添加callback=anything
不会将输出格式从JSON更改为JSONP。 如果您尝试添加callback=foobar
参数的API调用 ,它仍会生成普通的JSON:
{
"status": 403,
"error": "API Key not registered"
}
如果此服务不支持JSONP或CORS ,则必须使用服务器上的代码在客户端的浏览器中访问服务而不是JavaScript。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.