doutai1509 2013-11-19 15:36
浏览 128

在ajax完成后执行window.location重定向

In summary, I have a form that is loaded via AJAX. Required fields for this form are checked via another AJAX call. Once all required fields have been filled, a new record is added to db and the user should NOW be sent to my payment page to complete the application process. I have tried adding window.location = "http://www.paymentPage.php"; but no matter where I place this code, it is executing along with my ajax code. I even tried adding a die(header:location('paymentPage.php')); at the end of my code in validMA.php. I know I'm missing something simple...just can't figure it out.

PHP code:

<?php 
session_start();
include('header.htm');?>
</head> 
<body> 
<div id="container">
   <div id="content"><div class="content">
      <h1>New Member Application</h1>
   <form method="post" name="checkUserMA" id="checkUserMA">
    <label class="clear" style="width:120px">Username/Email<br><span class="small"></span></label>
    <input type="text" name="usernameMA" id="usernameMA" class="green" style="width:300px;"/><br><br>
    <input type="submit" id="checkUserMA" class="submit" value="Submit" />
</form>
    <div id="errorMA"></div>
    <div id="resultMA"></div>
    </div></div><!--end content-->  
<div id="footer">
<?php include("footer.htm") ?>
<!--<?php include("disclaimer.htm") ?>-->
</div><!--end footer-->
<div class="clear"></div>
</div><!--end container-->
<div class="clear"></div>
</body> 
</html> 

JS code:

$(document).ready(function() {

    //NEW MEMBER APPLICATION
    $('#resultMA').hide();
    $('#errorMA').hide();
    $("#checkUserMA").submit(function(event){
        event.preventDefault();
        $("#resultMA").html('');
        var values = $(this).serialize();
        $.ajax({
            url: "checkMA.php",
            type: "post",
            data: values,
            success: function(result){
                $("#resultMA").html(result).fadeIn();
                $('.error').hide();
                validMA();
                window.location = "http://184.154.174.162/~nsgpcom/memberAppPay.php";
            },
            error:function(){
               $("#resultMA").html('There was an error.').fadeIn();
            }
        });//end ajax
    });
function validMA(){
    $("#fullFormMA").click(function(e){
        e.preventDefault();
        $("#errorMA").html('');
        var fullForm = $(this).serialize();
        $.ajax({
            url: "validMA.php",
            type: "post",
            data: fullForm,
            success: function(result){
                $("#errorMA").html(result).fadeIn();
            },
            error:function(){
               $("#errorMA").html('There was an error.  Please try again.').fadeIn();
            }
        });//end 
    });
    $("errorMA").hide();
}//end function

validMA.php code:

<?php
session_start();
include('functions.php');
connect();
$firstName = protect($_POST['firstName']); 
$lastName = protect($_POST['lastName']);
$address1 = protect($_POST['address1']);
$address2 = protect($_POST['address2']);
$city = protect($_POST['city']);
$state = protect(strtoupper($_POST['state']));
$zip = protect($_POST['zip']);
$required = array('firstName','lastName','address1','city','state','zip');
    // Loop over field names, make sure each one exists and is not empty
$error = false;
foreach($required as $field) {
  if (empty($_POST[$field])) {
    $error = true;
  }
}
if ($error){
    echo "You need to fill in all required (*) fields";
} else {
    $sql2 = "INSERT INTO newMembers (username,firstName,lastName,address1,address2,city,state,zip,publicEmail,workPhone,privateAddress1,privateAddress2,privateCity,privateState,privateZip,homePhone,cellPhone,website,facebook,twitter,linkedIn,education,licensure,certification,statement,dateAdded) VALUES ('$username','$firstName','$lastName','$address1','$address2','$city','$state','$zip','$publicEmail','$workPhone','$privateAddress1','$privateAddress2','$privateCity','$privateState','$privateZip','$homePhone','$cellPhone','$website','$facebook','$twitter','$linkedIn','$education','$licensure','$certification','$statement','$dateAdded')";
    $result2 = mysql_query($sql2) or die(mysql_error());
}?>

Hoping to understand this logic. I know I will use it again and again.

  • 写回答

4条回答 默认 最新

  • douhua1760 2013-11-19 15:42
    关注

    Use

    window.location.href="your URL"
    

    instead of

    window.location
    
    评论

报告相同问题?

悬赏问题

  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用