【问题标题】:Redirect to a other page after successful form submission through AJAX通过AJAX成功提交表单后重定向到其他页面
【发布时间】:2016-06-08 05:55:56
【问题描述】:

我创建了一个简单的表单并将表单中的值存储在数据库中。这部分现在工作正常。 现在我想在成功提交表单后将用户重定向到另一个页面。 我怎样才能做到这一点?目前我收到警告框说已成功保存,但是当我单击该警告框时它不会重定向到另一个页面(实际上我想将它重定向到名为 first.php 的页面)。

这是我的代码

控制器

public function user_add() {
    $data_save = array(
        "Mnumber" => $this->input->post("Mnumber"),
        "email" => $this->input->post("email"),
        "fname" => $this->input->post("fname"),
        "address" =>$this->input->post("address"),
        "sitename" =>$this->input->post("sitename"),
        /* "reqnum" => $this->input->post("reqnum"),*/
        "title" => $this->input->post("title"),
        "descr" => $this->input->post("descr"),
        /*"payment" => $this->input->post("payment"),*/
        "uniquekey" => $this->input->post("uniquekey")
        /*"subscription" => $this->input->post("subscription"),
        "email_sent" => $this->input->post("email_sent"),*/
    );
    if ($this->user_mod->AddUser($data_save)) {
        echo "Successfully Saved";
    }
    else {
        echo "error";
    }
}

型号

public function AddUser($data_save) {
    if ($this->db->insert('users', $data_save)) {
        return true;
    } else {
        return false;
    }
}

查看

<script>
    function save_user_new() {
        var Mnumber = $('#Mnumber').val();
        var email = $('#email').val();
        var fname = $('#fname').val();
        var address = $('#address').val();
        var sitename = $('#sitename').val();
        /*var reqnum = $('#reqnum').val();*/
        var title = $('#title').val();
        var descr = $('#descr').val();
        var uniquekey = $('#uniquekey').val();
        /*var subscription = $('#subscription').val();
        var email_sent = $('#email_sent').val();
        var payment = $('#payment').val();*/

        if (sitename != "" && email != "") {
            $.ajax({
                type: "post",
                async: false,
                url: "<?php echo site_url('form_con/user_add'); ?>",
                data: {
                    "Mnumber": Mnumber,
                    "email": email,
                    "fname": fname,
                    "address": address,
                    "sitename": sitename,
                    /*"reqnum": reqnum,*/
                    "title": title,
                    "descr": descr,
                    "uniquekey": uniquekey
                    /*"subscription": subscription,
                    "email_sent": email_sent,
                    "payment":payment*/
                },
                dataType: "html",
                success: function (data) {
                    alert(data);
                    if (data == 'error') {
                        $('#success_msg').hide();
                        $('#error_msg1').show();
                        $('#error_msg1').html("Error : Something wrong.");
                    } else if (data == 'have') {
                        $('#success_msg').hide();
                        $('#error_msg1').show();
                        $('#error_msg1').html("Error : This Sitename is already exists.");
                    } else {
                        $('#error_msg1').hide();
                        $('#success_msg').show();
                        $('#success_msg').html("User details successfully saved.");
                    }
                }

            });
        } else {
            $('#success_msg').hide();
            $('#error_msg1').show();
            $('#error_msg1').html("Error : Please enter User Details.");
        }
    }
</script>

【问题讨论】:

标签: javascript php jquery ajax forms


【解决方案1】:

如果您希望用户看到您的消息,请执行此操作

$('#success_msg').html("User details successfully saved.");
setTimeout(function() { location="first.php"},2000);

【讨论】:

    【解决方案2】:

    使用window.location.hrefwindow.location.replace

    function save_user_new() {
    
      var Mnumber = $('#Mnumber').val();
      var email = $('#email').val();
      var fname = $('#fname').val();
      var address = $('#address').val();
      var sitename = $('#sitename').val();
      /*var reqnum = $('#reqnum').val();*/
      var title = $('#title').val();
      var descr = $('#descr').val();
      var uniquekey = $('#uniquekey').val();
      /*var subscription = $('#subscription').val();
      var email_sent = $('#email_sent').val();
      var payment = $('#payment').val();*/
    
      if (sitename != "" && email != "") {
        $.ajax({
          type: "post",
          async: false,
          url: "<?php echo site_url('form_con/user_add'); ?>",
          data: {
            "Mnumber": Mnumber,
            "email": email,
            "fname": fname,
            "address": address,
            "sitename": sitename,
            /*"reqnum": reqnum,*/
            "title": title,
            "descr": descr,
            "uniquekey": uniquekey
              /*"subscription": subscription,
              "email_sent": email_sent,
              "payment":payment*/
          },
          dataType: "html",
          success: function(data) {
            alert(data);
            if (data == 'error') {
              $('#success_msg').hide();
              $('#error_msg1').show();
              $('#error_msg1').html("Error : Something wrong.");
    
            } else if (data == 'have') {
              $('#success_msg').hide();
              $('#error_msg1').show();
              $('#error_msg1').html("Error : This Sitename is already exists.");
            } else {
              $('#error_msg1').hide();
              $('#success_msg').show();
              $('#success_msg').html("User details successfully saved.");
              window.location.href = 'http://example.com/view-details'; // Keeping current page history
    
             // or
    
              window.location.replace = 'http://example.com/view-details'; // Current page history will be replaced
            }
    
          }
    
        });
      } else {
        $('#success_msg').hide();
        $('#error_msg1').show();
        $('#error_msg1').html("Error : Please enter User Details.");
      }
    }
    

    【讨论】:

      【解决方案3】:

      如果您想使用 JavaScript 和 jQuery 进行重定向,您可以使用 Javascript 的以下属性。

      location.href = 'first.php';

      location.replace('first.php');

      将你的代码放在你想要重定向到的地方。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-13
        • 1970-01-01
        • 2017-08-13
        • 2014-10-09
        相关资源
        最近更新 更多