请告诉我如何将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
)。能告诉我如何实现这个目标吗?
由于
答案 0 :(得分:2)
不是向客户端发送(无效)HTML,而是使用结构化数据格式,例如JSON。
<?php
header("Content-Type: application/json");
$data = Array($number1, $number2);
print json_encode($data);
exit;
在JavaScript中,jQuery现在将使用数组填充data
。
答案 1 :(得分:0)
为什么不创建一个包含要返回的变量的数组,并使用json_encode对它进行解析?
echo json_encode(array($number1, $number2));
答案 2 :(得分:0)
根据您的值制作一个数组:
$array = array($number1, $number2);
然后将其解析为json
$json = json_encode($array);
然后回显$ json,你的js中有多个变量!
答案 3 :(得分:-1)
<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将此字符串拆分为数组,
答案 4 :(得分:-1)
第一种方式
您可以将这两个值连接起来,像'_'
这样的特殊字符
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);
的Javascript
$.getJSON('captcha.php',function(data){
console.log(data); //
});