Sergiu
Sergiu

Reputation: 355

AJAX pass data to PHP

I've been searching this forum, but I had no good result. I have this HTML:

<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']."')");
}
?>

And jQuery:

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

I need to pass #message content to PHP without refreshig the page. This is what I've made, but it's not working.

Upvotes: 1

Views: 318

Answers (2)

Khanh TO
Khanh TO

Reputation: 48972

I need to pass #message content to PHP without refreshig the page.

Handle form submit instead:

$("#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.
});

Upvotes: 0

Software Engineer
Software Engineer

Reputation: 3956

Check your syntax:

  1. Wrap url with quotes '
  2. Remove single quotes around 'message' variable

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

See the first example of $.ajax() at the bottom of its documentation page.

Upvotes: 1

Related Questions