2013-07-06 154 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. 
});