jQuery AJAX发送两个请求
jQuery AJAX sending two requests
jQuery AJAX似乎发送两个请求。由于我使用的是基于时间的双因素身份验证方法,第二个请求失败,因此原始请求"失败"。
第一个是post请求,这很好,但是还有一个GET请求,这就不好了。
这是我用来生成查询的javascript。
$('#form').live('submit', function(event) {
var target = $('#ajax');
var url = '/ajax/user/authenticateLevel3';
$.ajax({
type: "POST",
url: url,
data: $('#form').serialize(),
dataType: 'json',
success: function(data, status) {
$.getJSON(url, function(data) {
if (!data.resultCode) {
$('#ajax').html($.base64.decode(data.html));
$('#ajax').modal();
} else {
location.reload();
}
});
}
});
event.preventDefault();
});
有什么办法可以解决这个问题吗?
这是因为你正在做2 ajax调用(.ajax
和.getJSON
)
尝试这样做(使用文档事件委托而不是.live
):
$(document).on('submit', '#form', function(event) {
var target = $('#ajax');
var url = '/ajax/user/authenticateLevel3';
$.ajax({
type: "POST",
url: url,
data: $('#form').serialize(),
dataType: 'json',
success: function(data, status) {
if (!data.resultCode) {
$('#ajax').html($.base64.decode(data.html));
$('#ajax').modal();
} else {
location.reload();
}
}
});
event.preventDefault();
});
您正在发送2个请求。一个是。ajax,另一个是。getjson。
删除. getjson请求。由于没有将dataType属性传递给.ajax, jquery将尝试猜测响应类型。您还可以将数据类型指定为json来强制转换。对于这两个选项,success回调函数的'data'参数应该被转换为javascript对象。
getJSON
是用于从服务器检索JSON的AJAX方法,而不是用于处理由另一个AJAX方法返回的数据。把它去掉。
$('#form').live('submit', function(event) {
var target = $('#ajax');
var url = '/ajax/user/authenticateLevel3';
$.ajax({
type: "POST",
url: url,
data: $('#form').serialize(),
dataType: 'json',
success: function(data, status) {
if (!data.resultCode) {
$('#ajax').html($.base64.decode(data.html));
$('#ajax').modal();
} else {
location.reload();
}
}
});
event.preventDefault();
});
既然你提到你要切换到.on
,语法将是这样的:
$(parent).on('submit', '#form', function(event) {
/*
* ...
*/
});
其中parent
是离#form
最近的静态父元素
相关文章:
- davis.js在页面加载/重新加载上生成两个请求
- Node.js&两个请求之间的Express/Can上下文切换可以是同步代码
- 两个Post请求,并且不更改变量
- Ajax向Wicket服务器发送两个请求时出错
- 从Node.JS中的两个网站请求RSS提要
- 在两个页面上发送 AJAX 请求
- Dojo 两个 XHR 请求和回调函数仅在两者完成时触发
- 两个 JSON 请求的列表
- 这是如何处理基于从 url 获取值的两个 ajax 请求吗?
- 如何在一个按钮单击上发出两个依赖的 AJAX 请求
- 使用 jquery ajax 请求和日期格式错误解析两个参数
- 如何使用 Restangular 检查两个同时请求的完成情况
- 如何改进/缩短这两个类似的 ajax 请求
- 节点JS,从两个链接同步发出HTTPS请求
- AJAX - 同时运行两个请求,但其中一个以一定的间隔重复运行
- jQuery:如何将两个请求结果连接到json服务器
- JQuery文件上传:在data.submit()上发送两个请求
- Nodejs一次触发两个请求
- 这两个请求之间的区别
- jQuery AJAX发送两个请求