簡體   English   中英

使用AJAX將數組和字符串從Javascript傳遞到PHP

[英]Pass Array and String from Javascript to PHP with AJAX

我有以下ajax電話。

我的addList變量包含一個字符串:list = Sports&list = Cars&list = Outdoor&new_list = 123123

我想在我的PHP文件中獲取addList作為

$_POST['list'] is an array with values Sports, Cars, Outdoor
$_POST['new_list'] is a string 123123

但是我無法將POST字符串轉換為正確的形式。

我可以在兩側創建數組/循環,但是感覺不對。

方便的方法是什么?

jQuery.ajax({  
                    type: "post",  
                    url: ajax_var.url,  
                    data: "action=post-list&nonce="+ajax_var.nonce+"&post_list=&post_id="+post_id+"&" + addList,  
                    success: function(count){  
                        alert("done"); 
                    }  
                }); 

任何幫助將不勝感激。 謝謝!

嘗試使用followig代碼。

您只需要查找表單if和url即可將值傳遞給:

var form = new FormData($('#form_id')[0]);
form.append('view_type','addtemplate');
$.ajax({
type: "POST",
url: "savedata.php",
data: form,
cache: false,
contentType: false,
processData: false,
success:  function(data){
//alert("---"+data);
alert("Settings has been updated successfully.");
window.location.reload(true);
}
});

這將自動傳遞所有表單元素。

工作和經過測試的代碼。

當您使用jQuery中的ajax方法傳遞變量時,您可以像這樣傳遞數組:

jQuery的

    var myArray = newArray();
    myArray.push("data1");
    myString = "data2";


    jQuery.ajax({  
         type: "post",  
         url: ajax_var.url,  
         data: {array:myArray, param2:myString},
                  ^name     ^value
         success: function(count){  
             alert("done"); 
         }  
    }); 

PHP

echo $_POST['array'][0]; // data1
echo $_POST['param2']; // data2

將您的addList變量更改為此:

list[]=Sports&list[]=Cars&list[]=Outdoor&new_list=123123

PHP會將名為list[]的項目解析為一個數組,您會發現以下值: $_POST['list'][0]$_POST['list'][1]$_POST['list'][2]

暫無
暫無

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

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