如何将数据从PHP返回到jQuery ajax调用
我正在使用ajax发布一些数据。我想处理这些数据并返回到调用jQuery脚本 以下是我的jQuery:如何将数据从PHP返回到jQuery ajax调用,jquery,ajax,Jquery,Ajax,我正在使用ajax发布一些数据。我想处理这些数据并返回到调用jQuery脚本 以下是我的jQuery: $.ajax({ type: "POST", url: "somescript.php", datatype: "html", data: dataString, success: function() { //do something; } }); 以下是服务器上的somescript.php: <?php //manipulate d
$.ajax({
type: "POST",
url: "somescript.php",
datatype: "html",
data: dataString,
success: function() {
//do something;
}
});
以下是服务器上的somescript.php:
<?php
//manipulate data
$output = some_function(); //function outputs a comma-separated string
return $output;
?>
我在服务器端的操作是否正确,以及在ajax调用完成时如何访问返回字符串?这是传递给success函数的参数:
$.ajax({
type: "POST",
url: "somescript.php",
datatype: "html",
data: dataString,
success: function(data) {
alert(data);
}
});
完整签名是
success(data,textStatus,XMLHttpRequest)
,但是如果返回的是一个简单的字符串,则可以只使用第一个参数。和往常一样,:)是的,你这样做是完全合法的。要在客户端访问该数据,请编辑success函数以接受参数:data
$.ajax({
type: "POST",
url: "somescript.php",
datatype: "html",
data: dataString,
success: function(data) {
doSomething(data);
}
});
我想出来了。需要在PHP中使用echo而不是return
<?php
$output = some_function();
echo $output;
?>
基于公认的答案
$output = some_function();
echo $output;
如果它生成数组,那么使用json_编码,它将生成javascript支持的json数组
$output = some_function();
echo json_encode($output);
如果有人想在您回显某个结果后停止执行,请使用php的exit方法。它将像return关键字一样工作
$output = some_function();
echo $output;
exit;
我也这么认为,但警报(数据)突然出现为空。我知道PHP中的$output不是null。我将尝试textStatus。使用success:function(data){alert(data)}alerts null。如果
$output
是一个数组,您将如何返回该数组?如果$output
是一个数组,那么使用json_encode
所以:echo json_encode($output)
或执行打印($var)
,但是,如果您想返回json,那么将其作为json对象来获取会更好,我相信,我刚刚看到了这一点,还没有尝试过<代码>回音返回值对我从Python来的时候是完全陌生的。
$output = some_function();
echo $output;
exit;