簡體   English   中英

如何使用隨jQuery的AJAX發布請求+ 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"]); ?>

您需要構建一個數組元素的對象。 例如:

您也可以嘗試:

{ 'key[]': [1, 2, 3] }

要么

{ key: [1,2,3] }

閱讀有關$ .post()的更多信息

嘗試傳遞{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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM