php ajax success:function(msg) - 获取消息

时间:2011-03-24 15:32:29

标签: php ajax jquery

我有一些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'不会是“文本”;我会在屏幕上弹出“文字”。

返回字符串值需要做什么?有什么想法吗?

谢谢,

4 个答案:

答案 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'

输出文本