我有一些jquery / php代码,它使用ajax来调用另一个页面。
var pall_id = $(this).attr('id');
$.ajax({
type: "POST",
url: "do_history.php?pall_id="+pall_id,
success: function (msg) {
alert (msg);
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
alert('Error submitting request.');
}
});
但是,如何获取msg的值呢?例如如果do_history.php只是:
<?php
$text="text";
return $text;
?>
当'我发出警报(msg)时,'msg'不会是“文本”;我会在屏幕上弹出“文字”。
返回字符串值需要做什么?有什么想法吗?
谢谢,
答案 0 :(得分:1)
使用echo $text;
并在$.ajax
选项中添加dataType: 'text'
。
然而,更好的解决方案是使用dataType: 'json'
然后echo json_encode($text);
- 在这种情况下$text
也可以是数组/对象/数字,它将是适当的类型JavaScript函数
答案 1 :(得分:1)
您必须回显或打印变量,因为jquery会获取脚本的输出。简单的返回不会产生任何输出。
<?php
$text="text";
echo $text;
?>
答案 2 :(得分:1)
你需要检查函数$ .post的jQuery mannual,成功param是一个函数并且有几个参数。最常用的参数是msg,它是请求url的输出。 你需要知道param msg是请求url(do_history.php)的输出,如果在do_history.php中使用return,内容($ text)将不会输出到浏览器,所以msg param将不包含任何东西。但是如果你使用echo,print等,内容($ text)将输出到浏览器,所以msg param将包含值!
答案 3 :(得分:0)
您需要在php端(print 'text'; // echo 'text'
)