我正在尝试使用javascript调用php脚本,然后将多个变量返回给我的javascript,以便我可以操作它们。
这是我的JS。
$.ajax({
url: 'test.php',
data: { id : lastFileId },
success: function(output) {
alert(output);
}
});
我的PHP
<?php
$fileId = ($_GET['id']);
$num1 = 1;
$num2 = 2;
?>
从这里,如何返回变量$ num1和$ num2,以便我可以在我的javascript中使用它们。有可能吗?
如果我能做到这一点,这也是我计划要做的一个非常基本的想法。
答案 0 :(得分:16)
您可以使用json_encode()
返回任意数量的变量。
试试你的PHP:
<?php
echo json_encode(array($num1, $num2));
?>
您可以添加到该数组, $num3, $num4, ...
,依此类推。
在您的JS中,您可以按如下方式访问每个号码。
首先,您需要这行代码来解析成功函数中的编码JSON字符串。
var result = $.parseJSON(output);
将result
设置为JSON对象。现在,您可以访问result
中的所有字段:
result[0]
- PHP中的$num1
result[1]
- PHP中的$num2
答案 1 :(得分:4)
你可以在PHP和javascript中使用Json,如果你想要一个响应ajax请求的数组
<?php
$fileId = isset($_GET['id'])?$_GET['id']:0;
echo json_encode(array("field"=>$fileId,"num1"=>1,"num2"=>2));
?>
jQuery.ajax({
type: "GET",
url: 'test.php',
dataType: "json",
success: function(response) {
console.log(response);
alert(response.num1);
}
});
答案 2 :(得分:0)
将json转换为对象
jQuery.ajax({
type: "GET",
url: 'test.php',
dataType: "json",
success: function(response) {
item=JSON.parse(response);
console.log(item);
alert(item.num1);
}
});
答案 3 :(得分:0)
使用一个简单的字符串,并在ajax响应中进一步爆炸(拆分)它。这是PHP代码
<?php
$fileId = ($_GET['id']);
echo $num1."|".$num2;
?>
现在使用JavaScript拆分(分解)响应
$.ajax({
url: 'test.php',
data: { id : lastFileId },
success: function(output) {
var my_arr = output.split("|");
console.log(my_arr[0] + "" + my_arr[1]);
}
});
答案 4 :(得分:0)
您可以简单地将其返回
return ['num1'=>$num1,'num2' => $num2];
,此外,您可以按以下方式访问它,
respone.num1