Javascript AJAX请求在第一次调用时未按预期工作
我在登录系统中使用jqueryajaxJavascript AJAX请求在第一次调用时未按预期工作,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在登录系统中使用jqueryajax 函数登录(){ var postData=JSON.stringify({ “用户名”:$(“#txtUsername”).val(), “密码”:$(“#txtPassword”).val(), “行号”:$(“#ddlLineNum”).val() }); $.ajax({ 类型:“POST”, url:“frmLogin.aspx/MyMethod”, 数据:postData, contentType:“应用程序/json;字符集=utf-8”,
函数登录(){
var postData=JSON.stringify({
“用户名”:$(“#txtUsername”).val(),
“密码”:$(“#txtPassword”).val(),
“行号”:$(“#ddlLineNum”).val()
});
$.ajax({
类型:“POST”,
url:“frmLogin.aspx/MyMethod”,
数据:postData,
contentType:“应用程序/json;字符集=utf-8”,
成功:callbackfunction,
错误:函数(msg){
警报(“错误”);
}
});
}
函数调用函数(结果){
警报(“在回调方法中”);
if(result.d==“错误密码”){
警报(结果d);
}
if(result.d==“Currect Password”){
警报(用户名);
//$.session.set('UserName',UserName);
//$.session.set('lineNumber',lineNumber);
//警报($.session.get(“用户名”);
window.location.href='Inventory.aspx';
}
}
如果我第一次单击登录按钮,此callback功能不起作用(alert('in callback method')
不显示)。当我第二次单击时,将显示警报
有人能帮我解决这个问题吗
if(用户名==string.Empty)
返回“用户名为空”;
if(密码==string.Empty)
返回“密码为空”;
如果(行号=“请选择”)
返回“行号为空”;
DataTable dtLogin=DBLayer.spUserMasterSelect(用户名);
如果(dtLogin.Rows.Count>0){
if(dtLogin.Rows[0][“密码”].ToString()!=密码){
返回“错误密码”;
}否则{
返回“当前密码”;
}
}否则{
返回“无效用户名”;
}
请求和响应是
frmlogin.aspx
头文件是
请求URL:
申请方式:邮寄
状态代码:200 OK
远程地址:[::1]:57075
推荐人策略:降级时无推荐人
缓存控制:专用
内容编码:gzip
内容长度:3698
内容类型:text/html;字符集=utf-8
日期:2019年9月9日星期一09:44:44 GMT
服务器:Microsoft IIS/8.0
改变:接受编码
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
X-SourceFiles:=?UTF-8?B?RDPCQ3VYCMVUDCBQCM9QZWN0C1XNVFMTV0NQTVxXQ1BNIE5FvYATIEPXDVYESBHBMQGQWPHEFXUQ0LMAVDNU1XMCM1MB2DPBI5HC3B4=
接受:text/html、application/xhtml+xml、application/xml;q=0.9,图像/webp,图像/apng,/;q=0.8,申请/签名交换;v=b3
接受编码:gzip,deflate,br
接受语言:en-US,en;q=0.9
缓存控制:最大年龄=0
连接:保持活力
内容长度:559
内容类型:application/x-www-form-urlencoded
主机:localhost:57075
来源:
推荐人:
Sec获取模式:导航
Sec获取站点:相同来源
Sec获取用户:?1
升级不安全的请求:1
用户代理:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/76.0.3809.132 Safari/537.36
__最后焦点:
__视图状态:CGCXGPZDPGAFMUBRG1A53VAAM0BZVQJZ7MFEIMIFX+HJKP+QBDAZHI1PNTXGPRZM35GQJFW5QALYAMZBTHSWH2J2GNHIOJU5BNC3D+WLUWVBEYVSZENRW06ESBM49ZCC5MY+RcTNeiwhGRQ==
__VIEWSTATEGENERATOR:0C51E059
__事件目标:
__事件参数:
__事件验证:ikyLG2JZUj1pDNj+/nM4K0teZ/HT96A1W0NQ1Y2QHTATEGZKDSKVZRK6PYZO7DF6BQFKOEU+/zf+bTdFHz6UqEnzcMvq+MCZHBQK3WAB92NRTB5W4TLLQQQQQQGBDv0PYRxWTMFUEXXO76PDXEAOZ1SDBFHQSDZWWXmWx62MFLHMIPOYUMWRIWXKY+++B4F+RP4JQTSV8LGZQ==
txtUsername:管理员
TXT密码:ADMIN
ddlLineNum:1
这是第二次
请求URL:
申请方式:邮寄
状态代码:200 OK
远程地址:[::1]:57075
推荐人策略:降级时无推荐人
缓存控制:专用
内容编码:gzip
内容长度:3708
内容类型:text/html;字符集=utf-8
日期:2019年9月9日星期一09:46:36 GMT
服务器:Microsoft IIS/8.0
改变:接受编码
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
X-SourceFiles:=?UTF-8?B?RDPCQ3VYCMVUDCBQCM9QZWN0C1XNVFMTV0NQTVxXQ1BNIE5FvYATIEPXDVYESBHBMQGQWPHEFXUQ0LMAVDNU1XMCM1MB2DPBI5HC3B4=
接受:text/html、application/xhtml+xml、application/xml;q=0.9,图像/webp,图像/apng,/;q=0.8,申请/签名交换;v=b3
接受编码:gzip,deflate,br
接受语言:en-US,en;q=0.9
缓存控制:最大年龄=0
连接:保持活力
内容长度:506
内容类型:application/x-www-form-urlencoded
主机:localhost:57075
来源:
推荐人:
Sec获取模式:导航
Sec获取站点:相同来源
Sec获取用户:?1
升级不安全的请求:1
用户代理:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/76.0.3809.132 Safari/537.36
__视图状态:zG8/UIXSUL3E8xOKML3OW4UISVJWX307LUGZUGNQFSBZEJHQN86SG9LLLVAWRJIJZ6/TRI1LBPJC9LURBTZE0GINMPYZSRRAVAIRMQT8HV1USP55SGW6GF5AVTHTFMKZE3XFUR06SAXBHBIWQ==
__VIEWSTATEGENERATOR:0C51E059
__事件验证:3RL06CKIZWSOQBBJWRONYUPDNOVIB37NYRGRZNW1FBCOUF8DpstDupW8UHMlRTMQD8OPKKXIQAGT/DyI51YJplGnyaoB4E4OuBFX43tL+P4HTBWZF2P8KURYNxUDL7W1UBKIC0GIKLLT1VQRKLEUHAN7XGGIQJJ/V/R++NPQWOD+/B0AM7QJEEHEYEM2UALV5ZRUNC1GURG==
txtUsername:管理员
TXT密码:admin
ddlLineNum:1考虑捕获AJAX post请求中的失败。这可能有助于您第一次单击登录按钮进行故障排除
$.ajax({
类型:“POST”,
url:“frmLogin.aspx/MyMethod”,
数据:postData,
contentType:“应用程序/json;字符集=utf-8”,
成功:callbackfunction,
失败:失败fxn,
错误:函数(msg){
警报(“错误”);
}
});
函数故障fxn(){
console.log('failure');
}
Currect
-请注意,这可能是一个输入错误。您是否在服务器端设置了断点,并在发出AJAX请求时进行了调试?请使用Chrome Developer工具(网络选项卡),获取第一个不起作用的请求和响应,以及第二个起作用的请求和响应。在你的问题中包括这四个问题。你应该是加盐和散列,而不是加密。我建议你读一下这个链接,我95%确信这是有区别的。尽管如此,如果没有一个。使用上面的代码进行了尝试,我们还是无能为力。仍然没有失败。console.log为空没有故障