[英]Passing an array from Angular to php
我有一個下拉菜單,您可以在其中選擇一項或多項。 我要發送到后端php腳本的選定項目,該腳本會將選定的值插入數據庫。 這是我的角度插入功能:
insertRepair: function (id_telefon, id_culoare, arrayPiese) {
console.log(arrayPiese);
http.get('../php/insert_reparatii.php', {
params: {id_telefon: id_telefon, arrayPiese: arrayPiese,
id_culoare: id_culoare}
}).then(function () {
}
}
對該函數的調用是這樣完成的:
serviceHttp.insertRepair($scope.phoneMP.selected.id, $scope.colorMP.selected.id, $scope.selectedPiesaMP.selected);
如果我在控制台中打印arrayPiese
數組,它將為2個選定項打印,如下所示:
["Adezivi_Rama", "Polarizator"]
現在在后端,我檢索數組列表:
$arr = $_REQUEST['arrayPiese'];
如果我打印$ arr變量,我只會打印兩個項目之一。 需要提及的是我從jquery遷移到angular,從jquery可以像這樣發送整個數組:
var arrayPiese = [];
$('.select2-selection__choice').each(function () {
arrayPiese.push($(this).attr('id'));
});
網址看起來像這樣arrayPiese=Adezivi_Rama&arrayPiese=Polarizator&id_culoare=1&id_telefon=18
將數組發送到php之前需要序列化嗎? 還是將數組發送到后端的最佳方法是什么?
您可以將數組作為json傳遞,
http.get('../php/insert_reparatii.php', {params: {id_telefon: id_telefon, arrayPiese:angular.toJson(arrayPiese),
id_culoare: id_culoare}
}).then(function () {
}
然后在您的PHP腳本中,將json轉換為PHP數組,
$arrayPiese = json_decode($_GET['arrayPiese'], TRUE);
arrayPiese=Adezivi_Rama&arrayPiese=Polarizator
將導致單個變量$_REQUEST['arrayPiese']
的值為Polarizator
因為后者會覆蓋第一個變量。
如果要傳遞數組,則必須在查詢參數名稱后加上方括號:
arrayPiese[]=Adezivi_Rama&arrayPiese[]=Polarizator
…這將導致PHP變量$_REQUEST['arrayPiese']
的數組值如下:
[
0 => 'Adezivi_Rama',
1 => 'Polarizator'
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.