我想在我的javascript代码中调用此网址:
这是我的javascript代码:
$.ajax({
url: 'http://api.addressify.com.au/address/autoComplete',
type: 'GET',
crossDomain: true, // enable this
data: 'api_key=99acd24a-1c94-49ad-b5ef-6f90d0f126b1&term=1+George+st+t&state=nsw&max_results=5', // or $('#myform').serializeArray()
success: function () { alert('PUT completed'); }
});
我在控制台中收到跨域URL错误。
任何帮助?
答案 0 :(得分:7)
您需要使用JSONP进行跨站点请求调用尝试:
$.ajax({
url: 'http://api.addressify.com.au/address/autoComplete',
type: 'GET',
dataType:'jsonp',
jsonpCallback:'callback',
data: 'api_key=99acd24a-1c94-49ad-b5ef-6f90d0f126b1&term=1+George+st+t&state=nsw&max_results=5&jsonp=callback', // or
success: function(json) {
console.dir(json);
},
});
使用参数' jsonp'调用addressify服务将使服务在响应函数中包装响应,然后jquery ajax用于检索数据。所以$ .ajax参数' jsonpCallback'必须与您传递给服务的参数匹配' jsonp' (在他们的documentation)
小提琴:
答案 1 :(得分:1)
只需将数据添加到ajax调用的URL部分。
url: function() {
return "http://api.addressify.com.au/address/autoComplete?api_key=" this.get("api_key") + "&term=" + this.get("term") + "&state=" + this.get("state") + "&max_results=" + this.get("max_results") }
}
如果您无法对某些数据进行硬编码,则可以将url声明转换为函数。
NSDate
我正在使用骨干模型方法来获取数据 - 使用您需要做的任何事情。