我是Ajax的新手。
我无法从 PHP 文件获得正确的响应。控制台中的答案是"未定义"。当我只是简单地寻址响应变量时,控制台会给我对象;似乎我无法获取PHP文件结果的值。
这是 HTML 代码:
<form id="form1" method="post" onsubmit="return send_form(this)">
<p>Number 1= <input type="text" name="number1"></p>
<p>Number 2= <input type="text" name="number2"></p>
<input type="submit" value="calculate">
</form>
<script>
function send_form(form1){
let response=$.ajax("1_1.php",{
dataType:'json',
data:{n1:form1.number1.value, n2:form1.number2.value},
}
);
console.log(response.c);
return false;
}
</script>
这是我的PHP文件
<?php
$a=$_GET['n1'];
$b=$_GET['n2'];
$c=$a+$b;
echo json_encode(['c'=>$c]);
?>
似乎我不应该将ajax赋值用于变量。我尝试了这种方式,它有效:
function send_form(form1){
$.ajax("1_1.php",{
dataType:'json',
data:{n1:form1.number1.value, n2:form1.number2.value},
}
).then(process);
return false;
}
function process(result){
console.log(result.c);
return false;
}