我的问题寻求的答案更像是“如何继续”..
我有一个文件,在多个用户交互之后,我最终得到了三个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']))
??
感谢您的帮助。
答案 0 :(得分:0)
你的意思是下面的电话中的数据吗?当然,随着你的数据;)
$.ajax({
url: "../WebService",
type: 'POST',
data: { recipient: mailrecipient, input: content },
dataType: 'xml',
success: function (xmldata, textStatus, XMLHttpRequest) {
alert("Mail sent to:\n" + mailrecipient);
}
});
答案 1 :(得分:0)
您可以使用类似REST的方法:
http://your-server?int=integervalue&str1=string2value&str2=string2value
在您的服务器上,您可以阅读所有这些URL-Params ...抱歉,我不知道如何在php中执行此操作。 但是在jQuery-ajax中它看起来像
jQuery.ajax({url:url,params:{' int1':integervalue,' string1':string1value,' string2':strin2value});
答案 2 :(得分:0)
您可以作为常规参数发送的整数(我想您可能需要将字符串转换为整数服务器端)。对于数组,我建议转换为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上的问题和答案来获取点点滴滴。我无法保证服务器端部件能够正常工作,但它们应该非常接近。
答案 3 :(得分:0)
发布此类数据
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)