2013-09-29 73 views
0

我有以下ajax調用。將數組和字符串從Javascript傳遞到PHP與AJAX

我addList變量保存的字符串:列表=體育&列表=汽車&列表=室外& new_list = 123123

我要搶addList在我的PHP文件

$_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"); 
        } 
       }); 

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

+0

[可能的解決方案](http://stackoverflow.com/questions/19076841/jquery-ajax-is-not-getting-posted-to-a-php-file/19077227#19077227) –

回答

1

嘗試使用followig代碼。

你只是neeed找到您的形式,如果和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); 
} 
}); 

這會自動通過所有表單元素。

工作和測試的代碼。

0

當你通過變量與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 
0

改變你的addList變量對此:

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

PHP將解析名爲list[]到一個數組中的項目,你會發現值$_POST['list'][0]$_POST['list'][1]$_POST['list'][2]