2013-07-06 202 views
1

我一直在尋找這個論壇,但我沒有很好的結果。我有這樣的HTML:AJAX將數據傳遞給PHP

<form method="post" id="postform"> 
      <input type="text" name="message" id="message" placeholder='Say "Hello!"' class="mymessage" maxlength="255"/> 
      <br /> 
     <input id="submit" type="button" value="Send"/> 
     </form> 

PHP:

<?php 
include ('connect.php'); 
session_start(); 
if (isset($_POST['message'])){ 
    mysql_query("INSERT INTO messages VALUES ('','".$_POST['message']."','".$_SESSION['user']."')"); 
} 
?> 

和jQuery:

$('#submit').click(
function(){ 
    var message = $('#message').val(); 
    $.ajax({ 
     url: post.php, 
     type:'POST', 
     data: {"message":message} 
     }); 
    }); 

我需要通過#message內容到PHP不refreshig的頁面。這是我所做的,但它不起作用。

回答

1

檢查語法:

  1. url用引號'
  2. 刪除周圍'message'變量

    $.ajax({ 
        url: 'post.php', 
        type: 'POST', 
        data: {message : message} 
    }).done(function(msg) { 
        alert("Data Saved: " + msg); 
    }); 
    

單引號看到底部的$.ajax()第一個例子中的文檔頁面。

0

我需要將#message內容傳遞給PHP,而不刷新頁面。

處理表單提交代替:

$("#postform").submit(function(){ 
    var message = $('#message').val(); 
    $.ajax({ 
     url: 'post.php', 
     type:'POST', 
     data: {message:message} 
    }).done(function(data) { 
     // handle response from the server in case of success. 
    }); 

    return false; //to prevent submitting and refreshing the page. 
});