gpt4 book ai didi

javascript 验证和 ajax 调用同时不起作用

转载 作者:行者123 更新时间:2023-11-28 10:48:53 24 4
gpt4 key购买 nike

我有 javascript 和 ajax 调用需要同时工作的代码。但这没有用。并且总是去返回true。

创建函数的功能是验证数据和ajax调用,这些调用执行查询并依赖于它将进一步执行的结果。如果响应文本为 yes,则调用 confirmval 函数。然后进一步要求确认和下一次执行,但我面临的问题是函数不返回 false,它总是返回 true。我不明白为什么会发生这种情况?

function create()
{
if (document.companyregister.cmpname.value === "")
{
alert("Please Enter Company name");
document.companyregister.cmpname.value = "";
document.companyregister.cmpname.focus();
return false;
}

var companyname = document.companyregister.cmpname.value;
var username = document.companyregister.username.value;
$.ajax({
url: 'checkexisting.php',
type: 'POST',
data: {companyname: companyname,username:username},
success: function(errorResponse) {
var result = errorResponse.trim();
if(result=="yes"){
return confirmval(companyname,username);
}
else{
document.getElementById("formsubmitting").style.display = "block";
document.getElementById("hidesubmit").style.display = "none";
return true;
}
}
});
}

function confirmval(companyname,username){
var c = confirm("This company is already created.\nWould you like to delete existing company?");
if(c){
alert("c");
$.ajax({
url: 'updatecompany.php',
type: 'POST',
data: {companyname: companyname,username:username},
success: function(responsetext) {
var result = responsetext.trim();
if(result=="yes"){
document.getElementById("formsubmitting").style.display = "block";
document.getElementById("hidesubmit").style.display = "none";
return true;
}
}
});
}
else{
alert("notc");
window.location="http://www.google.com";
}
}

最佳答案

您尝试在第一次 ajax 调用后返回两个值:

if(result=="yes"){                            
return confirmval(companyname,username);
return false;
}

这只会返回confirmval函数的结果(似乎总是返回true),并且“return false”行永远不会运行,因此它将始终返回true。

如果您需要结果==“yes”返回 false,我可能会推荐如下内容:

if(result=="yes"){
var confirmvalResult = confirmval(companyname,username);
if(confirmvalResult) {
return false;
} else {
// not sure what you want to do here
}
}

关于javascript 验证和 ajax 调用同时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37211518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com