$.ajax中的成功并没有被执行
Success in $.ajax is not get executed
我是ajax的新手。作为第一个示例,我想要实现一个添加操作。为此,我编写了以下代码:
Html:
<!doctype html>
<html>
<head>
<title>Add two numbers</title>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<script src="jquery.js"></script>
</head>
<body>
<form id="addForm" method="post">
<input type="text" name="first">
<input type="text" name="second">
<input type="submit" name="btnSubmit">
</form>
<script src="global.js"></script>
</body>
</html>
PHP:
<?php
header('Content-type: text/html; charset=utf-8');
$json = array('success' => false,
'result' => 1
);
if (isset($_POST['first']) && isset($_POST['second']))
{
$json['success'] = "true";
$first = $_POST['first'];
$second = $_POST['second'];
$json['result'] = $first + $second;
}
echo json_encode($json);
?>
global.js
$('#addForm').on('submit',
function () {
// alert("hello submit");
var contents = $(this).serialize();
$.ajax(
{
url:'add.php',
dataType: 'json',
type:'post',
data:contents,
success:function(data)
{
if(data.success)
{
alert("result is " + data.result);
}
}
}
);
// alert("Wfah");
});
问题是,当我取消注释//警报("Wfah")时,我在ajax成功中得到结果,然后重定向到add.php。当我不取消注释时,我会直接重定向到addphp。似乎没有调用success。请帮助我。也建议任何好的来源来学习ajax。非常感谢。
$('#addForm').on('submit',
function (e) {
e.preventDefault(); //<----- you need to prevent the form from submitting
// alert("hello submit");
var contents = $(this).serialize();
$.ajax(
{
url:'add.php',
dataType: 'json',
type:'post',
data:contents,
success:function(data)
{
if(data.success)
{
alert("result is " + data.result);
}
}
}
);
// alert("Wfah");
});
您还在PHP代码段中将$json['success']
设置为字符串"true"
。这可能只是一个小的逻辑错误,但可以考虑将其更改为布尔true
文字:
$json['success'] = "true";
进入
$json['success'] = true;
相关文章:
- 为什么onsubmit函数似乎没有执行
- 为什么使用AWS Signature v4对S3的REST调用并没有真正使用签名过程
- ajax加载了内容,脚本没有执行
- PhantomJS并没有在每次加载页面时进行所有AJAX调用
- 我的自动完成并没有暗示什么
- 世界的时钟并没有滴答作响
- 因果报应并没有执行测试用例
- $.ajax中的成功并没有被执行
- Mozilla并没有完美地执行这段代码,尽管它适用于Chrome和IE
- Rally App SDK 2.0:Ext.Element 方法“不可选择”并没有那么规范化
- AJAX 调用在获得响应并成功执行时会冻结浏览器一段时间
- 为什么控制器函数没有执行 Angular Js 1.5.5
- 函数将信息返回到控制台日志,但实际上并没有执行应有的操作
- 选项卡中的a href链接没有执行任何操作
- 扶手并没有填满表格
- Javascript似乎并没有取消隐藏我的元素
- 滑雪者并没有做出反应
- 我制作的应该向 mysql 表添加条目的 php 页面并没有对表执行任何操作
- JavaScript setTimeout() 实际上并没有执行它的函数
- 为什么我的函数没有从空白输入框中获取值并正确执行函数