var myurl="https://raw.github.com/currencybot/open-exchange-rates/master/latest.json";
$.ajax(
{
url:myurl,
type:"POST",
dataType:"JSONP",
success:function(myObj)
{
console.log(myObj);
}
});
我尝试使用速记getJSON,但是控制台抛出了一个错误“使用POST请求”。 使用上面的代码,控制台声明“无效标签”。
答案 0 :(得分:1)
使用$.getJSON(),它是速记功能,也非常有效。
var myurl="https://raw.github.com/currencybot/open-exchange-rates/master/latest.json";
$.getJSON(
myurl,
function(data) {
//manipulate your json
});
但是对于JSONP请求,您应该在URL中有回调参数
引用文档 [here]
如果网址包含字符串“callback =?” (或类似的,由服务器端API定义),请求被视为JSONP。
答案 1 :(得分:0)
您应该更改代码,试试这个:
$.post(
myurl,
{},
function(data){
alert(data);
},'json'
);
变量'data'是一个json对象。
答案 2 :(得分:0)
跨域JSONP根本不是AJAX。它不使用XMLHttpRequest。它只不过是一个加载JavaScript代码的动态脚本元素。
尝试:
var req = $.ajax({
url : myurl,
dataType : "jsonp"
});
req.success(function(myObj) {
console.log(myObj);
});
req.error(function() {
console.log('some error occured');
});
我认为终端服务器“https://raw.github.com”不支持JSONP。因此,您可能必须在服务器上创建代理端点才能访问此数据。基本上,在您自己的服务器上创建一个端点,使用任何有意义的方法(curl等)加载该数据并按原样返回它。然后你可以使用常规的AJAX。希望有所帮助