簡體   English   中英

使用jQuery中的POST將數據發送到同一文件中的PHP

[英]Send data with POST in jQuery to PHP in the same file

我有包含兩列的mail.php文件。 其中一個由我從數據庫中通過PHP獲得的郵件標題列表組成(元素ID設置為數據庫中的郵件ID)。 另一列應顯示所選郵件的消息。

我制作了一個JS腳本,該腳本將選定的郵件設置為活動狀態並獲取其id屬性。 現在,我希望將此ID發送給PHP,以便獲取所選郵件的消息。

如何使用POST方法發送所選項目的ID,並使用PHP在同一文件中獲取它? 或者,如果有人可以向我解釋一些更好的方法呢?

<!DOCTYPE html>
<html lang="en">

<head>...</head>
<body>
<div class="container">
  <div class="row text-center">
      <div class="col-md-4 col-sm-2">
        <div class="list-group">
        <?php get emails and set element id=Mail_ID ?>
        </div>
      </div>
  </div>
  <div class="col-md-8 col-sm-10">
      <div class="mail-text">
        <?php get id form JS script and show message ?>
       </div>
  </div>
  </div>

</div>
</body>
<script>
  $('.list-group a').on('click', function (event) {
    event.preventDefault();
    $('.active').removeClass('active');
    $(event.target).closest('a').addClass('active');
    var active = $(event.target).closest('a').attr('id');

  });
</script>

編輯

我什至不必使用POST方法來獲取電子郵件的ID。 我設法解決了這樣的問題:1)首先,我將郵件文本和id保存在$ messages數組中,以id為鍵,而message為值。 當我從數據庫中獲取所有數據時,我在div中使用類list-group進行了此操作。 2)然后在腳本部分中,我只是使用像這樣的mail-text類更改了div中的文本

<script>
  $('.list-group a').on('click', function (event) {
    event.preventDefault();
    $('.active').removeClass('active');
    $(event.target).closest('a').addClass('active');
    var Mail_id = $(event.target).closest('a').attr('id');
    var mail_text=<?php echo json_encode($messages); ?>;
    var joined = mail_text[Mail_id];
    $('.message').text(joined);
  });
</script>

使用Javascript

首先,您需要從某個地方(應該從哪里知道)獲取電子郵件ID,並將其放入變量中。 然后向php文件發出AJAX發布請求,並對返回的數據進行處理。 這應該使您開始:

var Mail_id = //get the mail id from some field or something    
var formData = {id: Mail_id}; 

$.ajax({
    url : "/getMessageById.php",
    type: "POST",
    data : formData,
    success: function(data, textStatus, jqXHR)
    {
        //data - response from server
    },
    error: function (jqXHR, textStatus, errorThrown)
    {

    }
});

PHP

創建一個名為getMessageById.php的文件

<?php
    $Mail_Id = json_decode($_POST["id"]);
    //dosomething with that id
?>

有關JQUERY AJAX POST的更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM