[英]send array to php from javascript?
我想使用jquery ajax將javascript數組發送到php。
$.post("controllers/ajaxcalls/users.php",
{
links: links
});
第二個“鏈接”是一個javascript數組。
當我有這個數組:
'1' ...
'1' => "comment1"
'2' => "link1"
'3' => "link2"
'4' => "link3"
'2' ...
'1' => "comment2"
'2' => "link4"
然后使用:
var jsonLinks = JSON.stringify(links);
alert(jsonLinks);
會給我:
[null,[null,"comment1","link1","link2","link3"],[null,"comment2","link4"]]
在我看來,出了點問題。 而且我不能在php端使用json_decode來獲取元素。
我應該使用什么功能將其轉換為json?如何在php端訪問它? 現在已經在幾個小時內為此感到苦惱了……將不勝感激。
您可以使用json_decode讀取傳遞的json
值。 看一下這篇文章 。
我不確定您的示例是否可以工作(您嘗試過嗎?)如果不能,則可以使用json發送數組,然后使用php對其進行解碼( http://www.php.net/manual/zh/ function.json-decode.php )
就像在JSON網站上寫的那樣:stringifier方法可以采用可選的replacer函數。 將在結構中的每個值的toJSON方法(如果有)之后調用它。 將把每個鍵和值作為參數傳遞給它,並將其綁定到持有鍵的對象。 返回的值將被字符串化。
排除在JSON中沒有表示形式的值(例如,函數和undefined)。
非限定數字將替換為null。 要替換其他值,可以使用如下替換函數:
function replacer(key, value) {
if (typeof value === 'number' && !isFinite(value)) {
return String(value);
}
return value;
}
可以在這里找到整頁: http : //www.json.org/js.html
我還是很新,也說這種方法不是最安全的,但是您總是可以將javascript數組轉換為字符串,然后將其通過php的URL傳遞給GET。
所以:
for(var i=0;i < jsarray.length;i++)
{
var x = jsarray[i];
urlstring += "myvalue[]="+x+"&";
}
document.location.href = "mypage.php?"+urlstring;
然后PHP將是:
$phparray = $_GET['myvalue'];
希望能有所幫助
您總是可以像這樣序列化數組:
books: $.param(books)
其工作原理如下:
$.param({a: [1, 2]}) // output: "a=1&a=2"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.