user189335
user189335

Reputation:

jquery $.post function's result data

When I make an ajax call (see code below), what is "data". How do I set and get data

//  $.post()  
 $("#post").click(function(){  
     $("#result").html(ajax_load);  
     $.post(  
         loadUrl,  
         {language: "php", version: 5},  
         function(data){  
             $("#result").html(data);  
         },  
         "json"  
     );  
 });

Upvotes: 1

Views: 21601

Answers (4)

Jake Wilson
Jake Wilson

Reputation: 91193

The data is a serialized values of your inputs. Example:

<form>
    <input type='text' name='myText1' value='hello'/>
    <input type='text' name='myText2' value='world'/>
</form>

You could now run this:

var myData = $('form').serialize();
alert(myData);

And your messagebox would say:

myText1=hello&myText2=world

myData is the data value that you want to pass into the $.post function.

Since you are new to jQuery, I'd perhaps recommend you try using the $.ajax function instead. There are a lot more options for it, but I always thought it was more straightforward and easier to understand than $.post. Here is how I'd use it:

$.ajax({
    type: "POST",    //define the type of ajax call (POST, GET, etc)
    url: "my-ajax-script.php",   //The name of the script you are calling
    data: myData,    //Your data you are sending to the script
    success: function(msg){
        $("#result").html(msg);   //Your resulting action
    }
});

Btw, don't forget, in order to use the jQuery serialize function, all the inputs need to have the name attribute set, or else the serialize function will ignore them.

Upvotes: 5

s-sharma
s-sharma

Reputation: 2025

$.post('fileName.php',{

data: $('#id').val(),
},
function(response)
{
  alert(response);
}
}

Upvotes: 0

aem
aem

Reputation: 3916

The documentation for $.post says that data "could be xmlDoc, jsonObj, html, text, etc...". It's whatever the server returns for the loadUrl you specified with the given parameters (in your case, language: "php", version: 5), so you need to examine what the server is returning.

Just alert(data) in your callback and you'll see what was returned.

Update: renamed 'responseText to 'data', since the OP changed the question to do that.

Upvotes: 1

Cesar
Cesar

Reputation: 3519

For example, I use:

$(document).ready(function(){
$("#btSend").click(function() {
    $.post("/Ajax/script.php", {nome: $("#nome").val(), email: $("#email").val()}, function(data) {
        alert(data);
    });
    return false;
});

});

The script.php return what I want to show, but you can change to make another operation with 'data'. The 'btSend' is a image and the 'nome' and 'email' is html textboxes.

This works :)

Upvotes: 1

Related Questions