TA的每日心情 | 开心 2021-12-13 21:45 |
---|
签到天数: 15 天 [LV.4]偶尔看看III
|
最近在测试,发现有些效果不对,最后发现是post的执行顺序问题,所以研究了下,写了以下总结
1.post被请求多次,解决方法:
连接加入随机数 rand=""+Math.random()
- $.post("/Control/webControl.ashx?rand ="+Math.random(), { Method: "LoginIn", Parems: ps }, function (data, textStatus) {
- $("#divOver").css("visibility", "hidden");
- switch (data) {
- case "1":
- window.location = "/default.aspx";
- break;
- case "0":
- $("#tips").text("找不到该用户");
- u.focus();
- changevcode();
- errcount++;
- break;
- case "-1":
- $("#tips").text("用户或密码错误");
- changevcode();
- c.val("").focus();
- errcount++;
- break;
- default:
- alert(data);
- }
- });
复制代码
2.因为post默认为异步请求,可是有时候我们会发现,本来要求请求马上出现,可是异步会导致后面突然再执行,这样就出问题了
所以,我们需要加入
- $.ajaxSetup({
- async : false
- });
复制代码
3.如果需要有些同步有些异步,那么我们应该使用最原始的ajax请求,然后把async设置为false
- $.ajax({
- type : "post",
- url : "register/RegisterState",
- data : "test=" + test,
- async : false,
- success : function(data){
- data = eval("(" + data + ")");
- aDataSet = data;
- }
- });
复制代码
|
|