Ghost Echo
Ghost Echo

Reputation: 2067

Passing AJAX variable into .php page and load that page and echo variable

Simple question: I just want to send item_num to insert_profile.php, then load insert_profile.php and echo out item_num there. It's not working! 'insert_profile.php' will load but it's not getting the data.

Is it a problem with my data:? I've also tried data: {item_num: item_num}. I'm sorry if this is a duplicate, but I've tried all of the examples I've seen and none of them are working. I think it could also be in success:

I've also looked at http://api.jquery.com/jQuery.ajax/.

Javascript/HTML

 <script>

$('.prof_wl_btn').click(function() { 
$(this).removeClass('prof_wl_btn');
$(this).addClass('prof_wl_btn_added');
  var item_num = this.id;
  alert('item id    ' + item_num); //*this will alert correctly*
  $.ajax({
      type: "POST",
      url:'insert_profile.php',
      data: "item_num"+item_num,   
      success: location.href = "insert_profile.php" //*this will load**   
  });
});
</script>

PHP

<?php
$s_n = $_REQUEST['item_num'];
echo $s_n;
?>

Upvotes: 0

Views: 2060

Answers (2)

John
John

Reputation: 586

You can't echo the variable this way because you have two different requests for the same page:

  • The first is the AJAX request when you send the data to your page where you do some action and the return;
  • The second one when you access insert_profile.php page, when your value is lost.

If you want to see that your value is echoed you can do this:

The AJAX call should look like:

    $.ajax({
      type: "POST",
      url:'insert_profile.php',
      data: {item_num : item_num},   
      success : function(data) {
         alert(data);  
      }
  });

Then your PHP file:

<?php $s_n = $_POST['item_num']; 
  echo $s_n;
  exit;
?>

Upvotes: 1

som
som

Reputation: 4656

$.ajax({
      type: "POST",
      url:'insert_profile.php',
      data: "item_num = "+item_num,   
      success : function( data ) {
         // location.href = "insert_profile.php" //*this will load** 
         alert(data);  
      }
  });

In PHP code you do like this and check

<?php
echo 'OK';

Upvotes: 0

Related Questions