我对PHP,Javascript,jQuery等全新。所以我发现这非常令人困惑。
我写了一个与JSON代码相呼应的php文件。然后我尝试将此响应存储到客户端上的Javascript变量中,如下所示:
var res;
$.getJSON("my_php_file", { some_param: "param" },
function(data) {
res = data;
}
});
相反,Web浏览器只是在当前窗口中打开响应JSON,而不是将结果保存到res
。这是为什么?
由于
答案 0 :(得分:5)
您是否在链接上处理onClick事件?如果是这样,那么您不会停止事件传播(默认行为)。
$('a#msome_link').click(function(e) {
e.preventDefault();
var res;
$.getJSON("my_php_file", { some_param: "param" },
function(data) {
res = data;
}
});
return(false); // this is not necessary any more in modern browsers
});
答案 1 :(得分:0)
my_php_file
返回Content-Type: application/json; charset=<your charset>
标题提供json回调:
my_php_file?CB =?
确保my_php_file
做出适当的回应:
printf(“%s(%s)”,$ _GET ['cb'],$ json_response);
考虑@Mihai Stancu的答案(应该是0号,实际上是:))