0

我的js:

$('#select').change(function() {
    var name = $(this).val();
    $.ajax({
        type: "POST",
        url: "data/grab.php",
        data: { type: "hops", name: name },
        dataType: "json",
        success: function(data) {
                    alert(data);
            var aa = data['aa'];
            $('#hops-aa').val(aa);
        }
    });
});

抓取.php

<?php

$type = $_POST['type'];
$name = $_POST['name'];

if ($type == 'hops') {
    $result = $name;
}

$result = json_encode($result);
return $result;

alert()在 ajax 调用中添加了 以仔细检查我从脚本返回的内容,它始终为空。有什么我想念的吗?

4

3 回答 3

3

您实际上需要echoprint. $result在 PHP 中使用return文件范围不会将返回值发送到输出流。

于 2012-08-26T20:05:42.047 回答
2

您使用echoPHP 打印出结果,而不是return

echo $result;
于 2012-08-26T20:05:13.167 回答
1

(如先前的答案所述)您需要回显/打印 $result 变量。

<?php

$type = $_POST['type'];
$name = $_POST['name'];

if ($type == 'hops') {
    $result = $name;
}

$result = json_encode($result);
echo $result; // return $result;
?>
于 2012-08-26T20:08:30.950 回答