Lapinou
Lapinou

Reputation: 1477

POST Request PHP equivalent in AJAX / JQuery

I'm able to send some POST requests to a php file. On this php file, I use this to check if my POST request is what I want:

<?php
    if(isset($_POST['message'])) {

    // Some stuff here

    }
?>

I would like to know if I can do the same thing in AJAX / JQuery ?

Not something like this:

<script>
    $.post("page.php", $("form[name=addMessage]").serialize(), function(data) {
        //Do something here
    }).error(function() {
        //error
    })
</script>

EDIT:

I don't want to send POST request in AJAX / JQuery. I just want to check if I receive a POST request, send from another page. Indeed, I send a POST request with a field named "message". And I my question is: Is it possible to check if the field "message" is set, but not in PHP, in AJAX / JQquery.

Thank you so much for your help.

Regards, Lapinou.

Upvotes: 0

Views: 1183

Answers (3)

Manoj Yadav
Manoj Yadav

Reputation: 6612

Try this:

$("form[name=addMessage]").submit(function(e) {
    e.preventDefault();
    $.post("page.php", $(this).serialize(), function(data) {
        //Do something here
    }).error(function() {
        //error
    })
});

*Update

As per your comment you want to check POST value using JavaScript / jQuery, I don't think so you can access POST data using JavaScript / jQuery. But you want to mix php then you can do something like this

var post = '<?php json_encode($_POST); ?>';
if (post.message !== undefined) {

}

You have to put var post = '<?php json_encode($_POST); ?>'; in a php file

Upvotes: 0

OptimusCrime
OptimusCrime

Reputation: 14863

If I understand what you are trying to do: No.

Do you want to just listen for an incoming request in Javascript without calling any Ajax-methods? This is not possible. Javascript needs to be told that "I am sending a request now, and I want a response". It is not possible to say "If any request is sent, deal with it here".

Think about it. How would this work? If Javascript would listen to any request incoming, how would it know the difference between an user submitting a form and you sending a request using Postman?

Also, once you load the website in your browser, this is said to be clientside. Everything that happens after that is bound to your computer and your instance of the website. Any request sent to the site would be sent to the server, not your browser.

Upvotes: 1

eL-Prova
eL-Prova

Reputation: 1094

An other way of doing a post is this:

$.ajax({
    type: "POST",
    url: "page.php",
    cache: false,
    data: "message=" + $(".msgBox").val(), //Or Json format { "message" : $(".msgBox").val() },
    success: function(html){
        $(dashboard_id).html(html);
    }
});

Upvotes: 0

Related Questions