[英]How to pass Javascript array to PHP file using AJAX?
我必須在AJAX調用時將Javary arry傳遞給PHP文件。
以下是我的js數組:
var myArray = new Array("Saab","Volvo","BMW");
此JS代碼必須使用AJAX請求將JS數組傳遞給PHP文件,並顯示數組的數量。
function ProcessAJAXRequest()
{
$.ajax
({
type: "POST",
url: "myphpfile.php",
data: {"id" : 1, "myJSArray" : myArray},
success: function (data)
{
alert(data);
}
});
}
此myphpfile.php文件必須返回數組的計數
<?php
$myPHPArray = $_POST["myJSArray"];
echo count($myPHPArray);
?>
PHP文件中有錯誤。 我正在得到未定義的索引:myPHPArray。 如何實現我所需的功能?
使用JSON.stringify
將值轉換為JSON並將其發送到服務器。
data: JSON.stringify({"id" : 1, "myJSArray" : myArray})
通過JSON.stringify
以JSON格式轉換js數組
function ProcessAJAXRequest()
{
$.ajax
({
type: "POST",
url: "myphpfile.php",
data: {"id" : 1, "myJSArray" : JSON.stringify(myArray)},
success: function (data)
{
alert(data);
}
});
}
並且在PHP
使用json_decode
函數獲取數組中的值
json_decode($_POST["myJSArray"]);
您可以使用JSON.stringify(array)
在JavaScript中對數組進行編碼,然后使用
$array=json_decode($_POST['jsondata']);
在您的PHP腳本中檢索它。請檢查此鏈接
在我看來,您的數組在函數作用域中不可用:
function ProcessAJAXRequest(){
var myArray = new Array("Saab","Volvo","BMW"); // this has to be in fn scope
$.ajax({
type: "POST",
url: "myphpfile.php",
data: {"id" : 1, "myJSArray" : JSON.stringify(myArray)}, // do the stringify before posting
success: function (data){
alert(data);
}
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.