2016-12-16 92 views
0

我有點失誤。PHP JQUERY AJAX Post

我想使用AJAX從表單發佈數據,但數據根本不發佈。

注:我有3個文件的[Home.php,Post_Idea.php,Insert_Post.php]

Home.php載荷post_idea.php通過Ajax。 我保持這個AJAX代碼Home.php:

  $("form").submit(function() { 
       var title = $('#title').val(); 
       var body = $('#body').val(); 
       alert(title + " " + " " + body); 
       $.ajax({ 
        url: "insert_post.php", 
        type: "POST", 
        data: {title: title, body: body}, 
        success: function (result) { 
         console.log(result); 
        } 
       }); 
      }); 

Insert_Post.php:

<?php 
session_start(); 
require_once("include/database.php"); 

$user_id = $_SESSION['user_id']; 
$title = $_POST['title']; 
$body = $_POST['body']; 
$img = "cancer_resarch_.jpg"; 
$votes = 0; 

$stm2 = $db->prepare("INSERT INTO posts (user_id, post_title, post_img, post_body, post_votes) VALUES (:user_id ,:title, :body, :img, :votes)"); 
$stm2->bindParam(':user_id', $user_id); 
$stm2->bindParam(':title', $title); 
$stm2->bindParam(':body', $body); 
$stm2->bindParam(':img', $img); 
$stm2->bindParam(':votes', $votes); 
$stm2->execute(); 

的問題是,這種後置代號不可言,但警報的作品,我只是得到這個從谷歌鉻合金控制檯:

Error

謝謝您的時間。

+0

出現此錯誤是因爲php文件試圖執行一個未定義值的語句。 – ThatHashCodeGuy

+0

解決。 谷歌Chrome瀏覽器已將其設置爲會話結束。 – ThatHashCodeGuy

+0

不要忘記調用event.preventDefault()來停止正常的表單提交。 – Barmar

回答

0

根據你的錯誤,問題似乎是在服務器端代碼。 我建議加入這開啓了錯誤報告在PHP腳本:

ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 

再進行試驗,我建議使用一個應用程序腳本,例如postman鉻並嘗試發送正確的數據。

然後,您應該看到PHP腳本上的錯誤以及郵件正文標籤中的錯誤。