簡體   English   中英

通過AJAX將對象傳遞給PHP

[英]Pass object to PHP through AJAX

我想知道是否可以使用jQuery AJAX函數將數組傳遞給php函數。 我有以下作為我的JavaScript

arr_data = {
    field01: "data 01",
    field02: "data 02",
    field03: "data 03",
    field04: "data 04"
}

$.ajax({
    url: "scripts/php/phpfunc.php",
    type: "GET",
    dataType: "json",
    data: {
        'action': "exec_find",
        'field01': arr_data["field01"],
        'field02': arr_data["field02"],
        'field03': arr_data["field03"],
        'field04': arr_data["field04"]
    },
    success: function(result) {
        // continue program
    },
    error: function(log) {
        // handle error
    }
});

當我嘗試執行以下操作時

arr_data = {
    field01: "data 01",
    field02: "data 02",
    field03: "data 03",
    field04: "data 04"
}

$.ajax({
    url: "scripts/php/phpfunc.php",
    type: "GET",
    dataType: "json",
    data: {
        'action': "exec_find",
        'data': arr_data
    },
    success: function(result) {
        // continue program
    },
    error: function(log) {
        // handle error
    }
});

我在PHP中將其作為“數組”接收。 如何正確發送對象,以便PHP函數可以使用它?

請嘗試以json格式傳遞數組。 然后在您的php中使用get json並訪問json數組。

<script>

arr_data = {
    field01: "data 01",
    field02: "data 02",
    field03: "data 03",
    field04: "data 04"
}
var  myJsonString= JSON.stringify(arr_data);
$.ajax({
    url: "scripts/php/phpfunc.php",
    type: "GET",
    dataType: "json",
    data: {
        'action': "exec_find",
        'data': myJsonString
    },
    success: function(result) {
        // continue program
    },
    error: function(log) {
        // handle error
    }
});
</script>

這是您的Java腳本。 下面是PHP

$dataJson=json_decode($_GET['data']);

在這里,您可以獲取json數組並遍歷它,然后執行您想做的任何事情。

請嘗試一下。 就我而言,這是可行的。

從第二個ajax中,您可以基於屬性名稱訪問數據,例如: $_GET['data']['field01']

$_GET['data']是在php中以關聯數組轉換的js對象

嘗試這個 :

$.ajax({
    url: "scripts/php/phpfunc.php",
    method: "POST",
    dataType: "json",
    data: {
        'action': "exec_find",
        'data': arr_data.serialize()
    },

連載()

http://api.jquery.com/serialize/

將您的數組轉換為字符串

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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