尝试将信息发送到php文件时从jQuery函数接收服务器错误

时间:2015-03-24 11:57:13

标签: php jquery

尝试使用jQuery将信息发送到php文件,但不断收到服务器错误。我知道php文件没有错,因为我能够直接从表单向php文件发送信息,并且能够处理信息并执行查询。

我需要使用jQuery,因为我希望响应显示在当前页面上,而不是将用户指向php文件。

我之前已经设法用其他形式完成了这项工作,但我不确定为什么这次不能正常工作。

表单代码:

 <div id="viewModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="viewModalLabel" aria-hidden="true">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
          <h4 class="modal-title">View Proposal: </h4>
        </div>
        <div class="modal-body">
          <form id="viewForm">
            <div class="form-group">
              <label for="code" class="control-label">Proposal ID:</label>
              <input type="text" class="form-control" id="proposal_id" name="proposal_id" readonly="">
            </div>
            <div class="form-group">
              <label for="title" class="control-label">Proposal Title:</label>
              <input type="text" class="form-control" id="proposal_title_id" name="proposal_title">
            </div>
            <div class="form-group">
              <label for="title" class="control-label">Proposal Description:</label>
              <input type="text" class="form-control" id="desc_id" name="description">
            </div>
            <div class="form-group">
              <label for="title" class="control-label">Course:</label>
              <input type="text" class="form-control" id="course_id" name="course_title">
            </div>
<input type="hidden" name="user_token" value="<?php echo  $_SESSION['user_token'];  ?>"/>

            <div class="modal-footer">

              <div class="btn-toolbar">
                <button type="Submit" class="btn btn-success" class="pull-left" onclick="AddFav();"><span class= "glyphicon glyphicon-heart"/> Add To Favourites</button>
                <button type="button" class="btn btn-default" class="pull-right" data-dismiss="modal">Close</button>
                <input type="Submit" class= "btn btn-primary" value="Apply" />


              </div>
            </div>
          </form>
        </div>
      </div>
    </div>
  </div>

添加到收藏夹按钮具有jQuery功能的onclick功能。

这是jQuery:

function AddFav() {
      var data = $('#viewForm').serialize();
      $.post('Student_Favourites.php', data, function(response){

       $("#viewForm").html(response);
      }).fail(function(jqXHR, textStatus) {
        alert( "Request failed: " + textStatus );
      });
    }

php:

<?php

session_start();

include "db_conx.php";

    try
    {
     $db_conx = new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password);

     $db_conx->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

     // var_dump($_SESSION);

     $username = $_SESSION['username'];

     //$_SESSION['username'] = $username;

     $sql = $db_conx->prepare("SELECT username, user_record_id FROM login_details
                    WHERE username = :username");

     $sql->bindParam(':username', $username, PDO::PARAM_STR);

        $sql->execute();
        $user_record_id = $sql->fetchColumn(1);

        // echo "Showing all proposals for : $username \n";
        // print_r($user_record_id);

        $proposal = $_POST['proposal_id'];

        $insertRec = $db_conx->prepare("INSERT INTO student_saved (proposal_id, user_record_id) VALUES (:proposal, :user_record_id)");


        $insertRec->bindParam(':user_record_id', $user_record_id, PDO::PARAM_STR);
        $insertRec->bindParam(':proposal', $proposal, PDO::PARAM_STR);
        $insertRec->execute();

        $message = "<p class='text-success'> Proposal Added To Your Favourites <span class='glyphicon glyphicon-ok'/></p>";
    }

catch(Exception $e)
{
    /*** check if the email already exists ***/
    if( $e->getCode() == 23000)
    {
        $message = 'This proposal has already been saved to your favourites';
    }
    else
    {
        $message = $e->getMessage();
        /*** fail message incase something went wrong ***/
            //$message = 'Unable to process your request. Please try again later';
        //$message = $username ." ". $password ." ". $last_user_id;
    }
}
}
die($message);
?>

任何想法我怎么能克服这个?请求失败:错误消息不是非常有用

0 个答案:

没有答案