benhowdle89
benhowdle89

Reputation: 37494

Ajax request to same page

This question may seem completely stupid, but say i have a PHP page with some form processing at the top in php and a html form underneath with the action of submitting to same page and method of post. How do i get the result via ajax, ie. send form to self without refreshing the page, if that makes sense? Thanks

Upvotes: 1

Views: 8006

Answers (2)

Cole
Cole

Reputation: 1503

It sounds like you're asking about Ajax basics, right? I suggest using jQuery to handle the Ajax part.

Put jQuery in your page, and then do something like

$(document).ready(function(){
  $('#submit_button').click(function(){
    var something='value to send to PHP';
    $.post('name_of_page.php',{"a_var":something},function(data){ /* do something with the data you received back*/ },'json');
    });
  });

Then in your PHP page, set up to handle a post or normal HTML output.

<?php
if($_POST['a_var']){
  $result=do_something($_POST['a_var']);
  echo json_encode($result);
  exit;
  }
//if there was no POST value, it continues to here
<html>
This is the rest of your page.
You'd have the form and the above javascript and so on here.
</html>

Upvotes: 3

Andreas Jansson
Andreas Jansson

Reputation: 3307

In your page, check if the page has POST parameters. If it does, process them and return a confirmation. If it doesn't, display the form.

Upvotes: 1

Related Questions