我试图在我的JavaScript代码中调用此URL:
http://api.addressify.com.au/address/autoComplete?api_key=99acd24a-1c94-49ad-b5ef-6f90d0f126b1&term=1+George+st+t&state=nsw&max_results=5
这是我的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错误。
有什么帮助吗?
您需要使用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’的参数匹配(在其文档中)
在这里摆弄:
http://jsfiddle.net/luisvsilva/cL1c3t4j/1/