【问题标题】:how to show message response php Ajax如何显示消息响应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...

标签: php jquery ajax


【解决方案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 数据后出现意外的非空白字符
猜你喜欢
  • 1970-01-01
  • 2019-03-12
  • 1970-01-01
  • 1970-01-01
  • 2019-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多