2013-10-08 109 views
0

我需要幫助,我找不到解決方案。我有一個JavaScript數組,我需要傳遞給一個PHP腳本,它將存儲會話變量中的所有數組值(最多3個)。我的JavaScript數組來源於string.split電話:Array to php and retrieve

var indentificators = id.split("_"); 

我需要的是如何做的Ajax調用,然後如何通過一個獲得一個陣列中的每個元素一些幫助。

我的主要問題是該數據必須發送的格式以及如何檢索它。

PD:我會發布我目前的ajax調用代碼,但我認爲它沒有幫助,這一切都搞砸了。

+0

即使它搞砸了,我們將不勝感激您發佈的Javascript以及Php代碼,以便我們可以調查它 –

+0

爲什麼不把這些問題關閉爲重複? –

回答

0
var array = id.split("_"); 
data = JSON.stringify(array); 
var url = 'you/url'  
$.ajax({ 
    type: "POST", 
    url: url, 
    data: {array: data}, 
}); 
1

JSON是你的答案在這裏..你使用的是類似jQuery或MooTools的JavaScript庫嗎?

的jQuery: How do I encode a javascript object as JSON?

url = 'target.php'; 
data = {identificators: JSON.stringify(identificators) }; 
jQuery.post(url, data, , function(response) { 
     //response handling 
}); 

MooTools的:

url = 'target.php';  
data = { identificators: JSON.encode(identificators) }; 

HOWTO柱(異步)在mootools的: http://mootools.net/docs/core/Request/Request

在PHP中:

$phpArray = json_decode($_POST['identificators']/$_POST['identificators']); 
0

可以格式化你的答案發送的JSON字符串

例如:

Javascript數組:

var indentificators = id.split("_"); // [0] => 'Stack', [1] => 'Overflow' 

,所以你可以這樣做:

var response_to_send = "{\"var1\":" + indentificators[0] + ", \"var2\": " + indentificators[1] + "}"; 

在這裏您將收到這個字符串在你的php腳本中(假設ajax請求成功並且POST中字符串的值是'values'):

$values = json_decode($_POST['values']) 
echo $values[0]; // This print 'Stack' echo $values[1]; // This print 'Overflow' 

我希望這是你的搜索

0

Finaly我解決了它:

var identificadors = id.split("_"); 

$.ajax({ 
    url: './phpScripts/comunicador.php?method=sessioList', 
    type: "POST", 
    data: ({data: identificadors}), 
    success: function(){ 
     alert('cool'); 
    } 
}); 
在我的PHP頁面

然後:

function sessioList() { 

    $data = $_POST['data']; 

    $_SESSION['list_id_product'] = $data[0]; 
    $_SESSION['list_id_tarifa']  = $data[1]; 
    $_SESSION['list_index']   = $data[2];  

} 

正如我所說的,我的主要問題是要發送數據的格式以及如何獲取數據。

謝謝大家,我真的很感激。