Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-getJSON-won';不能跨域工作_Javascript_Jquery_Google Maps_Jsonp_Getjson - Fatal编程技术网

Javascript jQuery-getJSON-won';不能跨域工作

Javascript jQuery-getJSON-won';不能跨域工作,javascript,jquery,google-maps,jsonp,getjson,Javascript,Jquery,Google Maps,Jsonp,Getjson,我正在尝试使用谷歌地图的RESTAPI将键入的地址转换为坐标。为此,我使用jQuery的getJSON函数,因为它使用本机JSONP调用 虽然它不起作用,但无法成功,因此警报从未被调用 $("#makeCords").click(function(){ straat = $('#straat').val(); stad = $('#Stad').val(); land = $('#Country').val(); if(straat == "" || stad =

我正在尝试使用谷歌地图的RESTAPI将键入的地址转换为坐标。为此,我使用jQuery的getJSON函数,因为它使用本机JSONP调用

虽然它不起作用,但无法成功,因此警报从未被调用

$("#makeCords").click(function(){
    straat = $('#straat').val();
    stad = $('#Stad').val();
    land = $('#Country').val();
    if(straat == "" || stad == "" || land == ""){
        alert("Onvoldoende gegevens! Vul straat, stad en land aan voor het gebruik van de ´bereken coordinaten´ functie.");
    }else{
        $.getJSON("http://maps.google.com/maps/api/geocode/json?callback=?",
        {
            adress: straat +", " + stad +", " + land,
            sensor: "false"
        },
          function(data) {
              alert(data);
          });
    }
});

尝试将&format=json添加到get jason url和chaneg&callback=?要&jsoncallback=?

请尝试将&format=json添加到get jason url和chaneg&callback=?要想&jsoncallback=?请尝试jquery jsonp:

$.ajax({
   type: "GET",
   url: "http://url",
   dataType: "jsonp" ,
   success: function (data) {

   }
});
尝试jquery jsonp:

$.ajax({
   type: "GET",
   url: "http://url",
   dataType: "jsonp" ,
   success: function (data) {

   }
});

javascript(在本例中是jquery)不会在自己的域之外获取或发布数据,这难道不是一种安全性吗(至少据我所知,javascript不允许跨域
发布
获取
?您可以使用一个本地php脚本,通过curl从google服务器收集json信息,并将get查询发送到此本地脚本。我会尝试一下这个解决方法


另一种方法是使用GoogleMapsAPI进行javascript。您可以使用该api中的gecoding函数从给定地址检索纬度和经度。因此,您不需要进行任何get或post…

这难道不是一种javascript(在本例中是jquery)永远不会在自己的域之外获取或发布数据的安全性吗(至少据我所知,javascript不允许跨域
post
get
吗)?您可以使用一个本地php脚本,通过curl从google服务器收集json信息,并将get查询发送到此本地脚本。我会尝试一下这个解决方法


另一种方法是使用GoogleMapsAPI进行javascript。您可以使用该api中的gecoding函数从给定地址检索纬度和经度。因此,您不需要进行任何GET或POST…

谷歌地图地理编码API不支持JSON-p;它将忽略您的
回调
参数,因此跨域JSON-P将不起作用


您应该改用官方谷歌地图Javascript库。图书馆内部确实使用JSON-P传递信息(因为这几乎是进行跨域请求的唯一方式),但该URL仅保留给官方图书馆使用。

谷歌地图地理编码API不支持JSON-P;它将忽略您的

回调
参数,因此跨域JSON-P将不起作用



您应该改用官方谷歌地图Javascript库。在内部,库确实使用JSON-P传递信息(因为这几乎是进行跨域请求的唯一方法),但该URL仅保留给官方库使用。

如果使用URL
http://maps.google.com/maps/api/geocode/json
?地址确实是一种类型。但谷歌仍将以json格式的错误作为回应。因此,仍应执行警报。不是。如果使用URL
http://maps.google.com/maps/api/geocode/json
?地址确实是一种类型。但谷歌仍将以json格式的错误作为回应。因此,仍应执行警报。不是。仍然无法访问success函数。仍然无法访问success函数。JSONP实际上不是向其他服务器发出请求的方式吗?我不能使用php curl,因为我的客户机的托管提供商不允许它:(.getJSON with callback=当您使用getJSON时,请求会变成跨域工作的JSONP请求。这应该是一个注释,而不是回答-1正如我allready所说。我非常确定这是一个安全问题。Javascript不允许跨域获取或发布。由于您的提供商拒绝使用curl,您仍然可以使用google maps api…您是错的。)不正确的Marco,您可以使用JSONP进行跨域请求。使用jQuery,您只需要设置
数据类型:“JSONP”
,这就解决了问题。JSONP实际上不是向其他服务器请求的方式吗?我不能使用php curl,因为我的客户机的托管提供商不允许它:(.getJSON with callback=当您使用getJSON时,请求会变成跨域工作的JSONP请求。这应该是一个注释,而不是回答-1正如我allready所说。我非常确定这是一个安全问题。Javascript不允许跨域获取或发布。由于您的提供商拒绝使用curl,您仍然可以使用google maps api…您是错的。)不正确的Marco,您可以使用JSONP进行跨域请求。使用jQuery,您只需要设置
数据类型:“JSONP”
这就解决了问题。URI现在还可以,google正在返回漂亮干净的json,但我知道这一点,因为我在浏览器中粘贴了URI。jQuery的ajax和getJSON函数都不会执行success函数。URI现在还可以,google正在返回漂亮干净的json,但我知道这一点,因为我在浏览器中粘贴了URI。bjQuery的ajax和getJSON函数都不会执行success函数。我刚刚发现,使用Chrome Javascript控制台,接收到JSON数据,但出现以下错误:
未捕获语法错误:意外标记:
这是否意味着它可以工作,但不知何故,错误源在其他地方,还是我应该使用Google maps javascript库?您应该使用提供的JS库。不确定,但getJSON可能期望类似于
jQuery1520493464060250754_1309622592360({/*json data*/})
,而不是
{/*json data*/}
@Salman这就是我的意思,URL不支持JSON-P,因为它忽略了
回调中指定的函数名。
。我刚刚发现,使用Chrome Javascript控制台,接收到JSON数据,但给出了以下错误:
未捕获的SyntaxError:意外标记:
这是否意味着它可以工作,但不知何故错误的来源在其他地方,或者我应该使用Google maps javascript库吗?你应该使用提供的JS库。不确定,但是ge