phpjqueryajax

Ajax passing data to php script


I am trying to send data to my PHP script to handle some stuff and generate some items.

$.ajax({  
    type: "POST",  
    url: "test.php", 
    data: "album="+ this.title,
    success: function(response) {
        content.html(response);
    }
});

In my PHP file I try to retrieve the album name. Though when I validate it, I created an alert to show what the albumname is I get nothing, I try to get the album name by $albumname = $_GET['album'];

Though it will say undefined :/


Solution

  • You are sending a POST AJAX request so use $albumname = $_POST['album']; on your server to fetch the value. Also I would recommend you writing the request like this in order to ensure proper encoding:

    $.ajax({  
        type: 'POST',  
        url: 'test.php', 
        data: { album: this.title },
        success: function(response) {
            content.html(response);
        }
    });
    

    or in its shorter form:

    $.post('test.php', { album: this.title }, function() {
        content.html(response);
    });
    

    and if you wanted to use a GET request:

    $.ajax({  
        type: 'GET',
        url: 'test.php', 
        data: { album: this.title },
        success: function(response) {
            content.html(response);
        }
    });
    

    or in its shorter form:

    $.get('test.php', { album: this.title }, function() {
        content.html(response);
    });
    

    and now on your server you wil be able to use $albumname = $_GET['album'];. Be careful though with AJAX GET requests as they might be cached by some browsers. To avoid caching them you could set the cache: false setting.