Jquery 返回false和e.stopImmediatePropagation似乎不起作用
我在jQuery中有以下代码。我有e.stopImmediatePropagation()并返回false,这样代码就不会继续执行POST。如何防止代码继续Jquery 返回false和e.stopImmediatePropagation似乎不起作用,jquery,Jquery,我在jQuery中有以下代码。我有e.stopImmediatePropagation()并返回false,这样代码就不会继续执行POST。如何防止代码继续 $("#saveBtn").on("click", function (e) { var obj = { name: $("#sName").val() }; $.ajax({ url: '@Url.Action(&qu
$("#saveBtn").on("click", function (e) {
var obj = { name: $("#sName").val() };
$.ajax({
url: '@Url.Action("CheckExist", "PMP")',
type: "GET",
async: true,
data: obj,
success: function (data) {
if (data != null) {
if (data == 'True')
{
alert('HERE');
e.stopImmediatePropagation();
return false;
}
}
}
});
// I WANT THE CODE TO NOT DO THE POST IF data == 'True' but it seems to continue regardless of return false
$.ajax({
type: "POST",
url: data_appRootPath + "@Url.PMPActionUrl((object)@ViewBag.Org_ID,
"GetType", null, null, null)",
contentType: false,
您要做的是两个异步操作。这意味着这两个ajax请求同时被触发(并行)。当来自ajax请求的响应返回时,取消第二个ajax请求已经很晚了 如果希望发生这种情况,则需要在第一个请求的回调中触发第二个请求 比如说:
$("#saveBtn").on("click", function (e) {
var obj = { name: $("#sName").val() };
$.ajax({
url: '@Url.Action("CheckExist", "PMP")',
type: "GET",
async: true,
data: obj,
success: function (data) {
if (data != null) {
if (data == 'True')
{
// I WANT THE CODE TO NOT DO THE POST IF data == 'True' but it seems to continue regardless of return false
$.ajax({
type: "POST",
url: data_appRootPath + "@Url.PMPActionUrl((object)@ViewBag.Org_ID,
"GetType", null, null, null)",
contentType: false,
}
}
}
});
这回答了你的问题吗?您的
CheckExist
调用是同步的-PMPActionUrl在success:
回调运行之前运行