[英]How to Pass Two Values From PHP to Ajax
您能否让我知道如何将PHP文件中的两个值传递到jQuery Ajax脚本中。 我所拥有的是一个Ajax电话:
<script>
$(function() {
var req = $.ajax({
url: 'captcha.php',
});
req.done(function(data){
alert(data);
})
});
</script>
和我的PHP(captcha.php)就像:
<?php
$number1 = rand(1,9);
$number2 = rand(1,9);
$sum = $number1 + $number2;
echo $number1;
?>
如您所见,当前我可以传递$number1
的值,但我需要同时拥有两个值( $number1
和$number2
)。 你能让我知道如何实现吗?
谢谢
与其发送(无效)HTML到客户端,不如使用结构化的数据格式,例如JSON。
<?php
header("Content-Type: application/json");
$data = Array($number1, $number2);
print json_encode($data);
exit;
在JavaScript中,jQuery现在将使用数组填充data
。
为什么不创建一个包含要返回的变量的数组,并对其进行json_encode解析以在JS中进行解析呢?
echo json_encode(array($number1, $number2));
根据您的值创建一个数组:
$array = array($number1, $number2);
然后将其解析为json
$json = json_encode($array);
然后回显$ json,您的js中就有多个变量!
<script>
$(function() {
var req = $.ajax({
url: 'captcha.php',
});
req.done(function(data){
data = data.split(",");
//Number 1
alert(data[0]);
//Number 2
alert(data[1]);
})
});
</script>
<?php
$number1 = rand(1,9);
$number2 = rand(1,9);
$sum = $number1 + $number2;
echo $number1 .",". $number2;
?>
这一切都是告诉php脚本回显Number1,Number2,然后javascript将该字符串从中拆分为一个数组,
第一种方式,您可以将两个值连接起来,并用'_'
这样的特殊字符将它们分开
的PHP
echo $number1 . '_' . $number2;
然后在javascript中这样做
data = data.split('_'); // get an array with the two values
第二种方法,您可以在php中编码为JSON并执行json ajax请求
的PHP
$result = array($number1, $number2);
echo json_encode($result);
Java脚本
$.getJSON('captcha.php',function(data){
console.log(data); //
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.