0

我成功地使用 ajax post 保存了输入值,但它没有加载下一页。

客户端代码:

<script type="text/javascript">
    function notifyEmail() {

      var form_data = {
                  'email':$('#inviteEmail').val()
                };
        alert($('#inviteEmail').val());
      $.ajax({
                  url: "<?php echo site_url('main/email_invites'); ?>",
                  type: 'POST',
                  data: form_data,
                  success: function(msg) {
                    return true;
                  }
            });
    }
  </script>

<input type='text' id='inviteEmail' placeholder='Enter email'/>
        <a href='#' name='email' id='invite-all' onclick='notifyEmail();' class='btn'>Notify Me</a>

控制器代码:

function email_invites()
    {
        $this->load->model('emailInvites');
        if($query = $this->emailInvites->saveEmailInvite())
        {
                $this->load->view('emailInvites');

        }
    }
4

2 回答 2

2

我所做的是以下可以帮助你的

<script type="text/javascript">
    function notifyEmail() {

      var form_data = {
                  'email':$('#inviteEmail').val()
                };
        alert($('#inviteEmail').val());
      $.ajax({
                  url: "<?php echo site_url('main/email_invites'); ?>",
                  type: 'POST',
                  data: form_data,
                  dataType:'json',
                  success: function(msg) {
                    if(msg.response)
                       //load the content in the body or wherever you want  
                       jQuery('body').load("<?php echo site_url('main/email_invites/show'); ?>"); 
                    else
                       console.log("Opps, Something wrong happend"); 
                    return true;
                  }
            });
    }
  </script>


    <input type='text' id='inviteEmail' placeholder='Enter email'/>
    <a href='#' name='email' id='invite-all' onclick='notifyEmail();' class='btn'>Notify Me</a>

在控制器中

function email_invites($action = 'process')
    {
        if($action == 'process')
        {
               $this->load->model('emailInvites');
               $query['response'] = $this->emailInvites->saveEmailInvite(); 
               echo json_encode($query); 


        }
        else
        {
              $this->load->view('emailInvites');
        }
    }
于 2013-01-29T23:33:46.383 回答
0

您不需要回显 url,只需像这样在 ajax 调用中使用它,

$.ajax({
              url: 'main/email_invites',
              type: 'POST',
              data: form_data,
              success: function(msg) {
                return true;
              }
        });

如果site_url方法返回所需的url,那么需要ajax调用,

 $.ajax({
              url: "<?php echo site_url('main/email_invites'); ?>",
              type: 'POST',
              data: form_data,
              success: function(msg) {
                return true;
              }
        });
于 2013-01-23T23:51:24.140 回答