简体   繁体   中英

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.

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.

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.
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM