bob
bob

Reputation: 65

POST with ajax, php, html

When the submit button is clicked of a html form i want to post a value to a different php file.

code what i have now is a mix of php and javascript:

waar = 1;
if (isset($_POST['submit'])) {
    ?><script type="text/javascript">
    $.ajax({
        url: 'zoek.php',
        data: 'waar=' + waar,
        type: 'POST',
        success: function(uitkomst) {
            alert("1");
        },
        error: function(request, status, error){
         }
    });
    </script><?php
}

In zoek.php i'm getting the code like this:

 <?php
if (isset($_POST['waar'])) {
    ?><script type="text/javascript">
        alert("2");
        alerted = localStorage.getItem('alerted') || '';
        if (alerted == 'yes') {
            localStorage.setItem('alerted','no');
        };
    </script><?php
}
?>

It does alert "1" but it does not alert "2". I'm not sure why this is, because it is succeeded in the ajax call. But does not seem to recieve the 'POST'.

(sorry for bad english)

Upvotes: 0

Views: 52

Answers (2)

BurningLights
BurningLights

Reputation: 2397

You don't see an alert for "2" because any JavaScript code on a page that you do an AJAX call to does not run in the page making the call. You'd have to append the response text from the AJAX call into your webpage for the script to actually execute. In your case, that would be the uitkomst variable.

Upvotes: 0

Gavriel
Gavriel

Reputation: 19247

Change the 1st ajax callback to:

function(uitkomst) {
    alert("1");
    $("body").append(uitkomst);
},

This adds the response to the DOM, that immediatelly executes the javascript.

Upvotes: 1

Related Questions