我经历了针对stackoverflow等类似问题的解决方案。 (似乎不仅是我这个问题)。所以我终于发布了这个问题,希望能找到解决方案。
我正在通过ajax调用向php函数发送2个数字,并希望从函数中获取和。我认为我不确定,但是ajax的一半是正确的,另一半是不正确的,即我可以将值发送到php函数(我认为),但是我无法在成功消息中获取总和,而是获得“页面的html数据”: D
能否请您指出我的错误和可行的解决方案。谢谢可爱的人:)
Ajax:
$(document).ready(function(){
$('#myForm').submit(function(event){
var num1 = Number($('#num1').val());
var num2 = Number($('#num2').val());
var summ = num1+num2;
//var data = $('#myForm').serialize();
console.log(" nums are " + summ); //totally works
var myNums = "num1= " + num1 + " & num2=" + num2;
alert(myNums); //totally works
event.preventDefault();
$.ajax({
url:'arrayTest.php',
type: 'POST',
data: {num1 : num1,
num2 : num2 },
success:function(data){
console.log(" <br>success yr data is " + myNums);
var results = data;
alert(data); // i get html of the entire page containing form
return false;
},
error:function(error){
console.log(" sorry error " + error); // get this when i add header in php
}
});
});
});
html:
<form id ="myForm" method="post" action="">
number1: <input type="number" name="num1" id="num1">
<br><br>
number2: <input type="number" name="num2" id="num2">
<br><br>
<br><br>
<input type="submit" id ="submit" name="submit" value="add">
</form>
php:
if(isset($_POST['submit'])){
$num1 = $_POST['num1'];
$num2 = $_POST['num2'];
$result= $num1 + $num2;
//echo "num1 is ".$num1;// **i didnt see any echo**
echo " your result ". $result; // **i didnt see any echo**
return ($result);
}
PS:html和ajax在同一个页面中,php函数在另一个页面中;我看到消息
XHR finished loading: POST "http://localhost/phpTest/arrayTest.php"."
在控制台中(我不知道这是什么意思!)
答案 0 :(得分:1)
您的表单定义num1,num2并添加,但是您使用的是未定义的Submit。
if(isset($_POST['add'])){
$num1 = $_POST['num1'];
$num2 = $_POST['num2'];
$result= $num1 + $num2;
//echo "num1 is ".$num1;// **i didnt see any echo**
echo " your result ". $result; // **i didnt see any echo**
return ($result);
}
提示:始终打开错误报告和开发环境,并使用 print_r()检查变量
答案 1 :(得分:0)
如果您的代码有效,只需从chrome控制台禁用XMLHttpRequests。