Javascript getJSON给出statut 200,但没有值
关于这个问题,我已经发现了十几个问题,但似乎没有一个解决方案对我有帮助 我有一段创建JSON对象的PHP代码,基本上我的页面如下所示:Javascript getJSON给出statut 200,但没有值,javascript,jquery,json,getjson,Javascript,Jquery,Json,Getjson,关于这个问题,我已经发现了十几个问题,但似乎没有一个解决方案对我有帮助 我有一段创建JSON对象的PHP代码,基本上我的页面如下所示: <?php $supps = ...; /* mysqli class that gets the values */ header("Content-type: text/javascript"); echo json_encode( $supps ); ?> 通过运行该命令可以得到以下(有效!)结果 现在,我尝试使用JQ
<?php
$supps = ...; /* mysqli class that gets the values */
header("Content-type: text/javascript");
echo json_encode( $supps );
?>
通过运行该命令可以得到以下(有效!)结果
现在,我尝试使用JQuery函数(基于从表单中选择的值)加载此数据。我尝试了多段代码:
/* Try 1 */
var menuID = $('[name=menu]:checked').val();
$.getJSON("feed.php?load&menu_id="+menuID, function(json) {
console.log(json);
});
/* Try 2 */
var menuID = $('[name=menu]:checked').val();
$.ajax({
url: "feed.php?load&menu_id"+menuID,
dataType: "JSON",
success: function(json){
console.log(json);
}
})
/* Try 3 */
var menuID = $('[name=menu]:checked').val();
$.getJSON("feed.php?load&menu_id="+menuID, function(data) {
console.log(data);
}).done(function(xhr) {
console.log(xhr)
});
/* Try 4 */
var menuID = $('[name=menu]:checked').val();
$.ajax({
type: "GET",
url: "feed.php?load&menu_id="+menuID,
async: false,
dataType: "json",
success: function(data){
console.log(data);
}
});
每次尝试都会在控制台中得到相同的结果:
GET http://.../feed.php?load&menu_id=1 200 OK 51ms
但控制台中没有对象
我做错了什么?您的URL包含一个编码的符号和: php?加载&;menu_id=“+menuID
&;
在URL中使用时不会被解码。您的查询字符串已断开。当您发出警报而不是console.log时会发生什么情况。只是好奇。@ODelibalta,在try 1和try 4上尝试过,什么都没有发生(未显示警报)。是否可以检查调试器的“网络”选项卡并检查响应正文。如果存在响应,则这是解析问题。如果没有响应,则这是服务器端问题。是否尝试更改“feed.php?load&;menu_id=“+menuID,
by”feed.php?加载&menu_id=“+menuID,
您是回显json还是从php函数返回json?回显是正确的方法。此外,只需执行console.log('randomString'),而不是console.log(data)
我只是想看看你的代码是否能实现。我监督了那一个……谢谢你,这解决了我的问题!
/* Try 1 */
var menuID = $('[name=menu]:checked').val();
$.getJSON("feed.php?load&menu_id="+menuID, function(json) {
console.log(json);
});
/* Try 2 */
var menuID = $('[name=menu]:checked').val();
$.ajax({
url: "feed.php?load&menu_id"+menuID,
dataType: "JSON",
success: function(json){
console.log(json);
}
})
/* Try 3 */
var menuID = $('[name=menu]:checked').val();
$.getJSON("feed.php?load&menu_id="+menuID, function(data) {
console.log(data);
}).done(function(xhr) {
console.log(xhr)
});
/* Try 4 */
var menuID = $('[name=menu]:checked').val();
$.ajax({
type: "GET",
url: "feed.php?load&menu_id="+menuID,
async: false,
dataType: "json",
success: function(data){
console.log(data);
}
});
GET http://.../feed.php?load&menu_id=1 200 OK 51ms