Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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 getJSON给出statut 200,但没有值_Javascript_Jquery_Json_Getjson - Fatal编程技术网

Javascript getJSON给出statut 200,但没有值

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

关于这个问题,我已经发现了十几个问题,但似乎没有一个解决方案对我有帮助

我有一段创建JSON对象的PHP代码,基本上我的页面如下所示:

<?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&amp;menu_id="+menuID, function(json) {
    console.log(json);
});

/* Try 2 */
var menuID = $('[name=menu]:checked').val();
$.ajax({
    url: "feed.php?load&amp;menu_id"+menuID,
    dataType: "JSON",
    success: function(json){
          console.log(json);
    }
})

/* Try 3 */
var menuID = $('[name=menu]:checked').val();
$.getJSON("feed.php?load&amp;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&amp;menu_id="+menuID,
    async: false,
    dataType: "json",
    success: function(data){
        console.log(data);
    }
});
每次尝试都会在控制台中得到相同的结果:

GET http://.../feed.php?load&amp;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&amp;menu_id="+menuID, function(json) {
    console.log(json);
});

/* Try 2 */
var menuID = $('[name=menu]:checked').val();
$.ajax({
    url: "feed.php?load&amp;menu_id"+menuID,
    dataType: "JSON",
    success: function(json){
          console.log(json);
    }
})

/* Try 3 */
var menuID = $('[name=menu]:checked').val();
$.getJSON("feed.php?load&amp;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&amp;menu_id="+menuID,
    async: false,
    dataType: "json",
    success: function(data){
        console.log(data);
    }
});
GET http://.../feed.php?load&amp;menu_id=1 200 OK 51ms