[英]Can't send array to php via ajax and back
我試圖在我的頁面上獲取一個按鈕,該按鈕最終將成為刪除按鈕以起作用。 但是,因為這是一個<li>
元素,而不是您的帶有表單等的平均提交按鈕...我不得不使用ajax發送所有要處理的變量,此刻我只希望它們處於它們處於某種狀態的狀態可以處理,但是此刻我的腳本似乎未返回我想要的任何值並輸出它們。
希望從下面的代碼中您會明白我的意思,目前我需要做的就是從選中的復選框中選擇所有值,然后將其發送到mail_trash.php,然后將其發送回並輸出數組,這樣我就可以看到它正在選擇正確的值等。實際的刪除php代碼已經編寫並可以正常工作,這只是檢查Ajax。
這是javascript和ajax
<script>
$("document").ready(function (){
$("li.trash").click(function(e){
var db = $(':checkbox:checked').map(function(i,n) {
return $(n).val();
}).get(); //get converts it to an array
if(db.length == 0) {
db = "none";
}
$.ajax({
type: "GET",
url: "mail_trash.php",
data: {'db[]':db },
dataType: "json",
statusCode: {
200: function (response) {
$("#mail_header_name").html(response.mess_id);
}
}
});
});
});
</script>
這是mail_trash.php的腳本
<?php
include 'connect_to_mysql.php';
$mess_id = $_GET["db"];
echo json_encode($mess_id);
?>
只是檢查一下
<li><a class="trash" href=""> </a></li>
非常感謝您的幫助,最近兩個小時來一直困擾着我。
這不是垃圾。 這是垃圾,因為垃圾是a元素的類。 因此,js的前三行應為:
<script>
$("document").ready(function (){
$("a.trash").click(function(e){
然后對其余的代碼進行此類操作。 我沒有必要檢查其余的代碼,盡管我對$(':checkbox:checked')不太滿意,因為我認為這不是正確的jquery。...首先,我建議修復我提到的第一個選擇器,使用jquery docs檢查第二個選擇器,然后jshinting / jslinting您的代碼。 (僅適用於Javascript)
我不知道問題本身還是腳本問題,但傳遞時參數的名稱是“ db”,但在服務器端您期望的是“ mess_id”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.