如何显示消息响应php Ajax
Posted
技术标签:
【中文标题】如何显示消息响应php Ajax【英文标题】:how to show message response php Ajax 【发布时间】:2022-01-09 08:57:45 【问题描述】:我有一段代码用 ajax 发送表单。我想在页面上以消息的形式接收结果。
<script>
$(document).ready(function ()
$('.btn-primary').click(function (e)
e.preventDefault();
var message = $('#message').val();
$.ajax
(
type: "POST",
url: "<?=baseUrl()?>/page/contact",
data: "message": message ,
success: function (data)
$('#contactform')[0].reset();
);
);
);
</script>
这是我接收消息并将其保存在数据库中的 php 代码
private function messageSend()
$user_id = $_SESSION['user_id'];
$message = $_POST['message'];
if ($message == null)
return json_encode(array(
'status' => false,
'message' => 'Please Enter Message'
));
$sendTime = getCurrentDateTime();
NoteModel::contact_message($user_id, $message, $sendTime);
return json_encode(array(
'status' => true,
'message' => 'Message Send Success'
));
【问题讨论】:
你这样做会得到什么:console.log(data); ? 不要return json_encode...
,而是echo json_encode...
,后跟return;
——或者只使用die(json_encode...
【参考方案1】:
在您的 PHP 中,不要返回 JSON 编码的数组。做一个echo
。
echo json_encode(array(
'status' => false,
'message' => 'Please Enter Message'
));
而在你的javascript中,AJAX的成功函数应该是这样的。
success: function (data)
var response = JSON.parse(data);
// now you can access the data as a JSON object
var status = response.status;
var message = response. message;
$('#contactform')[0].reset();
【讨论】:
谢谢我的朋友,当发送正确的表格时,我能够得到答案但是当发送空白表格时,现在我们在我们的 php 代码中打赌表格是空的,给一个消息。 对不起,我不明白你关于空表格的问题?上面的代码不行吗? 表单发送空白时不会收到消息,只有消息发送正确才会出现success: function (data) var response = JSON.parse(data); if (response.status == false) new Toast( message: response.message, type: 'danger' ); $('#contactform')[0].reset(); new Toast( message: response.message, type: 'danger' );
您是否在控制台或网络选项卡中遇到任何错误?
因异常 SyntaxError 暂停:JSON.parse:JSON 数据第 1 行第 50 列的 JSON 数据后出现意外的非空白字符以上是关于如何显示消息响应php Ajax的主要内容,如果未能解决你的问题,请参考以下文章
jquery/ajax - 如何使用重复键迭代 json 消息?
如何使 php artisan tinker 显示完整的错误(消息)?