我是网络开发的新手,所以请原谅任何愚蠢的错误!
我正在使用以下代码发送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对象,我会很高兴。
答案 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"
...
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
。