jquery$.getJSON返回未定义变量,JSON数据存在
我目前正在进行跨域数据传输,我遇到了一个非常大的障碍,我花了数小时&数小时试图让它工作,这似乎是正确的方法,因此任何指针都会收到很大的效果 我使用jquery&getJSON从php页面返回一个id,json_对数据进行编码 我的jquery代码是`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
$.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!我已经找了很久了!再次感谢!