将数据从PHP脚本发送到jQuery Ajax请求

时间:2014-12-01 10:39:18

标签: javascript php jquery ajax

我是网络开发的新手,所以请原谅任何愚蠢的错误!

我正在使用以下代码发送jQuery Ajax请求:

var d = "email=" + email + "&password=" + password;

        $.ajax({
            url: 'login/c_login_form.php',
            data: d,
            dataType: "text", //expected type from server
            type: "POST",
            success: function(str, status) {
                        console.log(str + ": " + status);
                     },
            error: function(obj) {
                        alert("Fatal error. Failed to send Ajax request.");
                     }
        });

为简单起见,我们假设login/c_login_form.php当前是空白的(当然还有php标记)并且每次都返回一组数据。

我的印象是,来自服务器的任何echo都将被传递给success函数,但它不会那样工作。将数据从PHP脚本发送回Ajax的方法是什么?虽然我使用了text数据类型,但如果有人能告诉我如何返回JS对象,我会很高兴。

2 个答案:

答案 0 :(得分:1)

在具体答案中总结评论:

<?php
    header('Content-Type: application/json');

    $data = array("status" => 1, "err" => "example_error_code");
    echo json_encode($data);
?>

请注意,正如Anthony Grist建议的那样,您需要使用Javascript:

dataType: "json"

而不是:

dataType: "text"

另见jQuery ajax docs

...
dataType (default: Intelligent Guess (xml, json, script, or html))
...

答案 1 :(得分:1)

您可以在this answer中查询Ajax发布请求。

要将数据从PHP文件发送回JS,您需要使用 echo

如果您传递的是多个变量,则可以使用echo json_encode($array_of _variables);。如果只有一个变量,那么您只能使用echo $variable