一尘不染

跨网域网址

ajax

我试图在我的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错误。

有什么帮助吗?


阅读 245

收藏
2020-07-26

共1个答案

一尘不染

您需要使用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/

2020-07-26