【发布时间】:2017-05-08 13:49:14
【问题描述】:
我正在使用返回 JSON 的 API。不幸的是,由于 CORS,我无法将数据类型设置为 JSON,而必须使用 API 不支持的 JSONP。
据我了解,我可以通过给它一个回调函数来将 JSONP 转换为 JSON。它不起作用,我在网上找不到解决方案。任何帮助我将 JSONP 数据类型转换为 JSON 将不胜感激。
$(document).ready(function() {
$.ajax({
type:'POST',
url:'http://api.smmry.com/&SM_API_KEY=XXXXXX&SM_URL=HTTP-URL',
crossDomain: true,
dataType: 'jsonp',
jsonpCallback: 'jsonpFunc',
jsonp:'callback'
});
});
function jsonpFunc(data){
console.log(data);
};
我遇到的错误
Uncaught SyntaxError: Unexpected token :
【问题讨论】:
-
API 返回 JSON 但你需要使用 JSONP,所以你运气不好。您必须从您自己的服务器端代理中获取内容,或者说服控制该 API 的任何人开始支持 JSONP(或 CORS 标头)。
-
JSONP 基本上只是将远程
<script>插入到当前文档中。服务器必须支持。 -
我正在使用 HTML、CSS、JS 和 smmry api 来做一个副业。如何将脚本正确插入到文档中?
-
加上 JSONP 不能与 POST 一起使用,而且 JSONP 请求不需要 crossDomain。
标签: javascript jquery json ajax