我的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);
}
});
});
grab.php
<?php
$type = $_POST['type'];
$name = $_POST['name'];
if ($type == 'hops') {
$result = $name;
}
$result = json_encode($result);
return $result;
我在ajax调用中添加了alert()
来仔细检查我从脚本中获取的内容,并且它始终为null。我缺少什么?
答案 0 :(得分:3)
您需要实际echo
或print
$result
。在PHP中,使用文件范围中的return
不会将返回的值发送到输出流。
答案 1 :(得分:2)
您使用echo
以PHP格式打印结果,而不是return
:
echo $result;
答案 2 :(得分:1)
(如前所述) 您需要回显/打印$ result变量。
<?php
$type = $_POST['type'];
$name = $_POST['name'];
if ($type == 'hops') {
$result = $name;
}
$result = json_encode($result);
echo $result; // return $result;
?>