繁体   English   中英

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

[英]Send data from PHP script to jQuery Ajax request

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

我正在使用以下代码发送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的方式是什么? 尽管我使用了文本数据类型,但是如果有人可以告诉我如何返回JS对象,我会很高兴。

总结评论中的具体答案:

<?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))
...

您可以将这个答案用于Ajax发布请求。

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

如果要传递多个变量,则可以使用echo json_encode($array_of _variables); 如果只有一个变量,请只使用echo $variable

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM