【发布时间】:2017-03-23 18:20:42
【问题描述】:
希望这里是一个简单的问题。我实际上使用了我在 SO 上找到的一个示例,但无法弄清楚它为什么不起作用。控制台或任何东西都没有错误。
我有一个 ajax Post 函数,用于将数据传递给 php 脚本。
它正确地传递了数据,但每次响应都会作为错误警报返回。我可以确认服务器端正在获取数据并正确处理它,只是无法弄清楚为什么它从不返回成功响应。
这里是 Ajax:
$(function () {
$('#pseudoForm').on('click', '#submit', function (e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "psu_output.php",
data: $('#pseudoForm').serialize(),
datatype: 'json',
success: function (response) {
if(response.type == 'success') {
$('#messages').addClass('alert alert-success').text(response.message);
} else {
$('#messages').addClass('alert alert-danger').text(response.message);
}
}
});
return false;
});
});
</script>
在我的 php 脚本中我使用了这个:
<?php
$success = true;
if($success == true) {
$output = json_encode(array('type'=>'success', 'message' => 'YAY'));
} else {
$output = json_encode(array('type'=>'error', 'message' => 'WHOOPS'));
}
die($output);
?>
【问题讨论】:
-
在运行时,
response实际包含什么? -
使用
console.log(response)查看响应。 -
尝试回显 $output,而不是 die()
-
@guyfawkes
die()回显它的参数,如果它是一个字符串。
标签: javascript php jquery ajax response