user1854438
user1854438

Reputation: 1842

Ajax get a return value from php?

I want to alert the return value from a php method, but nothing happens. Here is the ajax and php methods. Can anyone see what I am doing wrong?

--------------------------------------… Ajax script

$.ajax({
    type: 'get',
    url: '/donation/junk/4',
    data: datastring,
    success: function(data) {
        alert(data');
    }
});

--------------------------------------… php method

function junk($id)
{
    return "works11";
}

Upvotes: 20

Views: 64439

Answers (3)

zgr024
zgr024

Reputation: 1173

You have an extra ' in there on the alert(data') line

This should work

$.ajax({
    type: 'get',
    url: '/donation/junk/4',
    data: datastring,
    success: function(data) {
        alert(data);
    }
});

And your PHP code should call the method also and echo the value

function junk($id) {
    return 'works11';
}
exit(junk(4));

All you're doing currently is creating the method

Upvotes: 2

Kristian
Kristian

Reputation: 21840

in PHP, you can't simply return your value and have it show up in the ajax response. you need to print or echo your final values. (there are other ways too, but that's getting off topic).

also, you have a trailing apostrophe in your alert() call that will cause an error and should be removed.

Fixed:

$.ajax({
    type: 'get',
    url: '/donation/junk/4',
    data: datastring,
    success: function(data) {
        alert(data);
    }
});

PHP:

function junk($id)
{
    print "works11";
}

Upvotes: 37

Peter
Peter

Reputation: 145

ajax returns text, it does not communicate with php via methods. It requests a php page and the return of the ajax request is whatever the we babe would have showed if opened in a browser.

Upvotes: -1

Related Questions