在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 += ''+data[i].ppid+''+data[i].ppname+''+data[i].pptime+'小时';

//console.log(tag += ''+data[i].ppid+''+data[i].ppname+''+data[i].pptime+''+data[i].ppsumScore+'');

tag= ''+data[i].ppname+''+data[i].pptime+'';
// alert(tag);
// tag += ''+data[i].ppname+''+data[i].pptime+''+data[i].ppsumScore+'';
}
// 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 += ''+data[i].ppid+''+data[i].ppname+''+data[i].pptime+'小时';

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 += ''+data[i].ppid+''+data[i].tuserName+''+data[i].testStatisticScoure+''+testTemp+showPaper(data[i].ppid)+'';
}
$('.testListBox tbody').html(tag);
// showPaper(data[i].ppid);
},
error: function(jqXHR) {
alert('考试列表获取失败!请与管理员联系!');
}
});

});

你可能感兴趣的:(javaWeb,前端网页设计,javascript)