[英]How to send multiple variables to PHP using an AngularJS Ajax call?
[英]How to send multiple Javascript variables to PHP using jQuery AJAX
我的問題尋求的答案更像是“如何進行”。
我有一個文檔,在經過多方用戶交互之后,我得到了三個javascript變量。 1個整數和2個字符串數組,它們可能像這樣。
integer: 66
array1: ["100.01", "200.05", "100.15"]
array2: ["2", "23", "24"]
我需要使用jQuery AJAX通過POST將這些變量發送到PHP文件。 然后,PHP文件應按原樣處理這些變量,整數和數組。
所以基本上,我的問題是,如何在同一AJAX調用中發送這3種不同類型的變量? 並且...在服務器端如何接收它們?
(json_decode($_POST['myVariable']))
??
謝謝您的幫助。
您是說喜歡以下通話中的數據嗎? 當然,然后用您的數據;)
$.ajax({
url: "../WebService",
type: 'POST',
data: { recipient: mailrecipient, input: content },
dataType: 'xml',
success: function (xmldata, textStatus, XMLHttpRequest) {
alert("Mail sent to:\n" + mailrecipient);
}
});
您可以使用類似REST的方法:
http://your-server?int=integervalue&str1=string2value&str2=string2value
然后,在您的服務器上,您可以閱讀所有這些URL參數...對不起,我不知道如何在php中進行操作。 但是在jQuery-ajax中,它看起來像
jQuery.ajax({url:url,params:{'int1':integervalue,'string1':string1value,'string2':strin2value});
您可以將整數作為常規參數發送(我想您可能需要從字符串轉換為服務器端的整數)。 對於數組,我建議轉換為JSON字符串(使用JSON.stringify
),如下所示:
$.ajax({
type: 'post',
data: {
integer: integer,
array1: JSON.stringify(array1),
array2: JSON.stringify(array2)
},
...
});
然后在您的PHP中,您將使用json_decode($_POST['array1'])
來將array1 POST參數作為實際數組取回。
免責聲明:我不使用PHP編寫代碼,我只是從閱讀StackOverflow上的問題和解答中得到了點點滴滴。 我不能保證服務器端部分可以正常工作,但是它們應該非常接近。
像這樣發布數據
var sData = JSON.stringify({integers: 66,array1: ["100.01", "200.05", "100.15"],array2: ["2", "23", "24"]});
$.ajax({
type:"POST",
url:"getData.php",
data:sData,
dataType:"json",
success: function(data){
console.log(data);
},
error: function(){}
});
在getData.php
像這樣訪問這些數據
$results = json_decode(file_get_contents('php://input'));
$int = $results->integers;
$arr1 = $results->array1;
$arr2 = $results->array2;
$value1 = 0;
foreach ($arr2 as $value) {
$value1 += $value;
}
echo json_encode($value1); // you will get response as 49(2 + 23 +24)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.