Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
jquery$.getJSON返回未定义变量,JSON数据存在_Jquery_Json_Get_Undefined - Fatal编程技术网

jquery$.getJSON返回未定义变量,JSON数据存在

jquery$.getJSON返回未定义变量,JSON数据存在,jquery,json,get,undefined,Jquery,Json,Get,Undefined,我目前正在进行跨域数据传输,我遇到了一个非常大的障碍,我花了数小时&数小时试图让它工作,这似乎是正确的方法,因此任何指针都会收到很大的效果 我使用jquery&getJSON从php页面返回一个id,json_对数据进行编码 我的jquery代码是` $.getJSON("http://www.icetrack.it/scripts/php/data/ipAddress.php", { location: locationVar, user_k

我目前正在进行跨域数据传输,我遇到了一个非常大的障碍,我花了数小时&数小时试图让它工作,这似乎是正确的方法,因此任何指针都会收到很大的效果

我使用jquery&getJSON从php页面返回一个id,json_对数据进行编码

我的jquery代码是`

 $.getJSON("http://www.icetrack.it/scripts/php/data/ipAddress.php",

    {    
        location: locationVar,
        user_key: user_key,
        refer: refer,
        title: title,   
        async:false,        
        dataType: 'json',
        success: function(data) {

             alert(data);
        }
                 },"json"); 
它与一个php页面对话,该页面只输出

echo json_encode(array("id"=>"$id")); ?>
此页面输出JSON

{"id":"198"} 
然而,我的jquery将返回的只是一个未定义的变量,我哪里出错了?这简直是疯了


谢谢大家

您将错误的参数传递给了$.getJSON-您提供的许多参数只适用于$.ajax

特别是,$.getJSON的数据参数用于将CGI参数发送到服务器,而不是用于arbirtrary$.ajax参数

试试这个:

$.ajax({
     url: "http://www.icetrack.it/scripts/php/data/ipAddress.php",
     data: {    
        location: locationVar,
        user_key: user_key,
        refer: refer,
        title: title
     },
     async:false,        
     dataType: 'json',
     success: function(data) {
         alert(data);
     }
 });

请确保使用Synchronized async有一个很好的理由:false。您的页面将等待此操作完成,如果未完成,则会变得无响应。最好通过调用success中的后续函数来解决这个问题,这样页面就不会锁定?嗨,谢谢你的快速响应,我已经在同一个域中实现了这一点,虽然我试图跨两个域发送-这是相同的$.ajax调用吗?如果您要跨域发送,您需要PHP中的Access Allow Origin头,或者非常需要JSONP OutputHanks!我已经找了很久了!再次感谢!