![](/img/trans.png)
[英]jQuery AJAX variable sent through a POST request but I can't use it in PHP
[英]How to use an array sent with an jQuery's AJAX post request + php?
我正在嘗試在ajax請求中傳遞數組,但是顯然它不起作用...
$.post("process.php", array,
function(data) {
document.getElementById("output").innerHTML = JSON.parse(data);
});
我的問題是,如何使用過程文件中發送的數據?
像這樣構建數組: [key (0/1/2...)] => ["prod_id"]
。 ID有所不同。
我使用$_POST["key"];
讀取某處$_POST["key"];
會工作,但不會。
如果我可以像處理文件中那樣直接獲取數組,那就更好了。
process.php
(非常基本-只是檢查它是否正常工作。):
<?php print($_POST["test"]); ?>
嘗試傳遞{data: array}
而不是array
。 AJAX調用需要一個對象。
如果要傳遞數組,則必須“准備”密鑰,如下所示:
{'key[]' : ['value1', 'value2', 'value3']}
當您想以某種形式傳遞數組並將名稱屬性設置為“ key []”時,使用與您執行此操作相同的方法。
為了在php中接收數據,您需要發送鍵/值對,但是您只發送一個值。
您在php中收到$_POST[key]
,它將返回該鍵的值。
JS:
$.post("process.php", {myAray: array}, function(data) {
$("#output").html(data);
});
PHP
$array= $_POST['myArray'];
要從php以文本形式返回此數組只是為了測試您的ajax,可以使用var_dump( $_POST)
或var_dump($array);
如果您打算從服務器接收JSON作為響應,則不需要使用JSON.parse,jQuery會在內部解析json。 但是,您需要將“ json”作為dataType參數添加到$ .post
$.post("process.php", {myAray: array}, function(data) {
/* loop over json here*/
},'json');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.