[英]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>
首先,您需要從某個地方(應該從哪里知道)獲取電子郵件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)
{
}
});
創建一個名為getMessageById.php
的文件
<?php
$Mail_Id = json_decode($_POST["id"]);
//dosomething with that id
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.