简体   繁体   English

当我单击一个按钮时,它没有通过ajax jquery发送数据到changePassword.php

[英]When I click a button it didn't sends data to changePassword.php through ajax jquery

This is the form through which I want to send data to changePassword.php . 这是我要通过它发送数据到changePassword.php but it didn't send data. 但它没有发送数据。

<form class="form-horizontal" method="post">
    <div class="form-group">
        <label for="inputName" class="col-sm-2 control-label">Current Password</label>
        <div class="col-sm-10">
            <input type="text" class="form-control" id="current_password" name="current_password" placeholder="Name">
        </div>
    </div>
    <div class="form-group">
        <label for="inputEmail" class="col-sm-2 control-label">New Password</label>
        <div class="col-sm-10">
            <input type="password" class="form-control" id="new_password" name="new_password" placeholder="Email">
        </div>
    </div>
    <div class="form-group">
        <label for="inputEmail" class="col-sm-2 control-label">Confirm Password</label>
        <div class="col-sm-10">
            <input type="password" class="form-control" id="confirm_password" name="confirm_password" placeholder="Email">
        </div>
    </div>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
            <button type="submit" name="changePassword" id="changePassword"  class="btn btn-primary">Change Password</button><br><br><br><br><br>
        </div>
    </div>
</form>

This is the Ajax code through which the data is sent to changePassword.php . 这是将数据发送到changePassword.php的Ajax代码。

$("#changePassword").click(function(event) {
     var old_pass = $('#current_password').val();
     var new_pass =  $('#new_password').val();
     var conf_pass = $('#confirm_password').val();

     $.ajax({
          url: "ajax/changePassword.php",
          type: "post",
          data: ({ old_pass: old_pass, new_pass: new_pass, conf_pass: conf_pass}),
          success: function(data){

          }
     });
});

And this is the changePassword.php page. 这是changePassword.php页面。

 <?php
    session_start();
    include"../include/connection.php";

     if (!isset($_SESSION['FT_id']))
            {

            }

    $single_user=$_SESSION['FT_id'];
    $query="select * from faculty where faculty_phone=$single_user";
    $cm=sqlsrv_query($conn,$query);
    $resultFT = sqlsrv_fetch_array($cm);        

           echo $password = $_POST['old_pass']; exit;    

    ?>

You need to stop browser event propagation when button was clicked. 单击按钮时,您需要停止浏览器事件的传播。 The browser was submitting the form to the current page, and starting the AJAX call concurrently, but the page reload is faster and stop the AJAX call. 浏览器正在将表单提交到当前页面,并同时启动AJAX调用,但是页面重新加载更快,并且可以停止AJAX调用。

To do this, change your jQuery code to this: 为此,请将您的jQuery代码更改为:

$('#changePassword').click ( function ( event)
{
  event && event.preventDefault ();

  $.ajax (
  {
    url: 'ajax/changePassword.php',
    type: 'POST',
    data:
    {
      old_pass: $('#current_password').val (),
      new_pass: $('#new_password').val (),
      conf_pass: $('#confirm_password').val ()
    },
    success: function ( data)
    {
      alert ( 'Password changed!');
    }
  });
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM