在jquery的ajax方法中的success中使用return要注意的问题

转自:http://www.cnblogs.com/siashan/p/4167380.html

使用ajax返回函数。

jquery的ajax方法;在success中使用return;来结束程序的时候,结束的只是success这个方法,也就是说success中的return的作用范围只是success;

如果要想在success中使用return结束整个js函数,最好在最外面的方法体内定义一个全局的变量,var isOver = true;在success中如果满足条件就将isOver置为false

在ajax方法体外通过全局变量isOver的值来决定js函数是否return,

同时也要注意:ajax方法的async:       false,一定要是false;

function mySubmit(){
   // ajax 校验当前代理商是否可以发起申请
   var hasPrivileage = true;
   $.ajax({
    url:       "CommitCheckForAgent.action",
    data:      {agentNo:$("#agentNo").val()},
    type:      "post",
    async:       false,
    success:   function( result ){
         if(result == "billAuditing"){
          alert("该商户有正在审核的结算信息变更单,不能再次发起!");
          hasPrivileage = false;
          return hasPrivileage;
         }
               },
    error:     function( result ){
                  alert('error...');
               }
   });
   if(!hasPrivileage){
    return;
   }
   if($("#agentNo").val()==null || $("#agentNo").val()==""){
    alert("请输入代理商编号。");
    return;
   }
   if($("#settleAccountType").val()==null || $("#settleAccountType").val()==""){
    alert("账户类型不能为空。");
    return;
   }
   if($("#bankAccountName").val()==null || $("#bankAccountName").val()==""){
    alert("银行开户名不能为空。");
    return;
   }
   if($("#bankAccountNo").val()==null || $("#bankAccountNo").val()==""){
    alert("银行帐号不能为空。");
    return;
   }
   if($("#openBankName").val()==null || $("#openBankName").val()==""){
    alert("开户行名称不能为空。");
    return;
   }
   if($("#province").val()==null || $("#province").val()==""){
    alert("开户省不能为空。");
    return;
   }
   if($("#city").val()==null || $("#city").val()==""){
    alert("开户市不能为空。");
    return;
   }
   if($("#file1").val()==null || $("#file1").val()==""){
    alert("请上传图片。");
    return;
   }
//    var customerNo = $("#customerNo").val()
//    $.ajax({
//     type:"post",
//     data:{customerNo:customerNo},
//     url:"C005CommitCheck.action",
//     success:function(msg){
//      if(msg == ""){
      $("#form1").submit();
//      }else{
//       alert(msg);
//       window.location.href = window.location.href;
//      }
//     }
//    });
  }



个人代码:

/*
 * @Author: mingming
 * @Date:   2017-05-31 11:52:17
 * @Last Modified by:   mingming
 * @Last Modified time: 2017-05-31 12:36:55
 */


'use strict';
function showPaper(ppid){
var basePath=$("#basePath").val();
var htph=$("#htph").val();
var tuserName=window.sessionStorage.coursePlatform_name;
var hasPrivileage = "";//备注
// alert(ppid);
$.ajax({
type: "get",
url: basePath+"/selectPexanpaperByPPID",

data: {
ppid: ppid
},
dataType: "text",
 async:       false,
success: function(data) {

var data = JSON.parse(data);

var tag = '';
for (var i = 0; i < data.length; i++) {

    //    console.log(data[i].pexam.pid);
//tag += '<tr><td>'+data[i].ppid+'</td><td>'+data[i].ppname+'</td><td>'+data[i].pptime+'</td><td>小时</td><td><a href="test.jsp?pid='+data[i].pexam.pid+'"><span class="glyphicon glyphicon-pencil"></span></a></td></tr>';

//console.log(tag += '<tr><td>'+data[i].ppid+'</td><td>'+data[i].ppname+'</td><td>'+data[i].pptime+'</td><td>'+data[i].ppsumScore+'</td><td><a href="test.jsp?pid='+data[i].ppid+'&time='+data[i].pptime+'"><span class="glyphicon glyphicon-pencil"></span></a></td></tr>');

tag= '<td>'+data[i].ppname+'</td><td>'+data[i].pptime+'</td><td>';
// alert(tag);
// tag += '<tr><td>'+data[i].ppname+'</td><td>'+data[i].pptime+'</td><td>'+data[i].ppsumScore+'</td><span class="glyphicon glyphicon-pencil"></span></a></td></tr>';
}
// console.log("tag1:"+tag);//可以获取出来
hasPrivileage=tag;
},
error: function(jqXHR) {
alert('考试列表获取失败!请与管理员联系!');
}
});
if(hasPrivileage){
return hasPrivileage;
}
}


$(function() {
var basePath=$("#basePath").val();
var htph=$("#htph").val();
var tuserName=window.sessionStorage.coursePlatform_name;
// 1.页面初始化———读取考试列表信息(后台需要传考试编号、试卷名称、上传用户)
$.ajax({
type: "get",
url: basePath+"//Teststatustic/selectPexanpaperByUserName",
data: {
tuserName: tuserName
},
dataType: "text",
success: function(data) {

var data = JSON.parse(data);

var tag = '';
for (var i = 0; i < data.length; i++) {
    //    console.log(data[i].pexam.pid);
//tag += '<tr><td>'+data[i].ppid+'</td><td>'+data[i].ppname+'</td><td>'+data[i].pptime+'</td><td>小时</td><td><a href="test.jsp?pid='+data[i].pexam.pid+'"><span class="glyphicon glyphicon-pencil"></span></a></td></tr>';

if(data[i].testTemp==0){
var testTemp="否";
}
else{
var testTemp="是";
}
// var showpaper=showPaper(data[i].ppid);
// alert(data[i].ppid);
// alert(showPaper(data[i].ppid));
tag += '<tr><td>'+data[i].ppid+'</td><td>'+data[i].tuserName+'</td><td>'+data[i].testStatisticScoure+'</td><td>'+testTemp+showPaper(data[i].ppid)+'</td></tr>';
}
$('.testListBox tbody').html(tag);
// showPaper(data[i].ppid);
},
error: function(jqXHR) {
alert('考试列表获取失败!请与管理员联系!');
}
});

});

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值