[英]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.