Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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 即使变量可用,ajax调用也不成功_Javascript_Php_Ajax - Fatal编程技术网

Javascript 即使变量可用,ajax调用也不成功

Javascript 即使变量可用,ajax调用也不成功,javascript,php,ajax,Javascript,Php,Ajax,在这段代码中,当变量$place可用时,我试图填充下拉列表。进行ajax调用以从listplace.php文件获取数据,该文件以json格式编码 问题是下拉列表不是通过ajax调用从php文件填充的。但当我回显$_GET['place'];它可以工作,listplace.php也包含数据,但仍然不包含下拉列表填充。请帮忙 php输出 {"option":["HBD T-Shirt"]} Php代码 <?php echo $_GET['place']; ?> <select

在这段代码中,当变量$place可用时,我试图填充下拉列表。进行ajax调用以从listplace.php文件获取数据,该文件以json格式编码

问题是下拉列表不是通过ajax调用从php文件填充的。但当我回显$_GET['place'];它可以工作,listplace.php也包含数据,但仍然不包含下拉列表填充。请帮忙

php输出

{"option":["HBD T-Shirt"]}
Php代码

<?php
echo $_GET['place'];
?>

<select id="name">
  <option selected disabled>Please select</option>
</select>


<?php if (isset($_GET['place']) && $_GET['place'] != '') { ?>
    <script>
        $.ajax({
            type: "POST",
            data: {place: '<?= $_GET['place'] ?>'},
            url: 'listplace.php',
            dataType: 'json',
            success: function (json) {
                if (json.option.length) {
                    var $el = $("#name"); 
                    $el.empty(); // remove old options
                    for (var i = 0; i < json.option.length; i++) {
                        $el.append($('<option>',
                            {
                                value: json.option[i],
                                text: json.option[i]
                            }));
                    }
                }else {
                    alert('No data found!');
                }
            }
        });
    </script>
<?php } ?>

由于一个简单的错误,最终找到了解决方案,我提到的$place不再是$variable,而是ajax可以完美地工作


有一个代码窗口。location=1stlink.php?place=+encodeURIComponenttextval;在这里,我没有使用$place,而是使用了$variable,因此它无法工作。

由于一个简单的错误,最终找到了解决方案,我没有使用$place作为$variable,而是使用了ajax


有一个代码窗口。location=1stlink.php?place=+encodeURIComponenttextval;这里不是$place,而是我放置了$variable,这样它就不能工作。

如果响应是一个JSON字符串,那么您可能需要像这样解析响应数据。parsejson如果您已经在进行PHP If测试的PHP页面中,为什么要使用Ajax@SandepNayak-jQuery将在给定数据类型:“json”设置的情况下自动执行该操作。@nnnnnnnn实际上place变量是动态的,有时它将包含数据,但有时它不会。就是这样,我尝试使用isset进行ajax调用。但我不明白为什么当每个变量都有数据时,它就不能填充了!我试着用这种方式从listplace.php****输出响应,它对我有效。是的@RanjeetSingh infact by mission$place变量没有正确命名,但代码完美无误。如果响应是JSON字符串,那么您可能必须像解析JSON那样解析响应数据。ParseJSON如果您已经在正在进行PHP if测试的PHP页面@SandepNayak-jQuery将在给定数据类型:“json”设置的情况下自动执行该操作。@nnnnnnnn实际上place变量是动态的,有时它将包含数据,但有时它不会。就是这样,我尝试使用isset进行ajax调用。但我不明白为什么当每个变量都有数据时,它就不能填充了!我尝试通过这种方式从listplace.php****输出响应,它对我有效。是@RanjeetSingh infact by mission$place变量命名不正确,但代码完美无误。