Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how do I get the reponse text from ajax / jquery?

Tags:

jquery

ajax

Imagine I run this:

     $.ajax({
        type: 'POST',
        url: '/ajax/watch.php',
        data: {'watch':'aukcia', 'id':aukciaID},
        complete: function(responseText){
           alert(responseText);
        }
     });

Inside /ajax/watch.php, let's say I have this:

echo 'this is what I want';

And the alert(responseText) returns:

[object Object]

Instead of my text string that I need. Any help, please?

like image 592
Frantisek Avatar asked Mar 20 '11 05:03

Frantisek


2 Answers

Looks like somehow your jQuery is returning the XMLHttpRequest object, instead of your response.

If that is the case, you should ask for its responseText property, like this:

 $.ajax({
    type: 'POST',
    url: '/ajax/watch.php',
    data: {'watch':'aukcia', 'id':aukciaID},
    complete: function(r){
       alert(r.responseText);
    }
 });

However, if that does not work, you might be actually receiving a JSON response, and the [object Object] you are seeing might be your browser's representation of your JSON response.

You should be able to inspect its contents by navigating around the object properties. However, if you want, you can also tell jQuery not to parse your JSON response, by including dataType: 'text' on your call:

 $.ajax({
    type: 'POST',
    url: '/ajax/watch.php',
    data: {'watch':'aukcia', 'id':aukciaID},
    dataType: 'text',
    complete: function(data){
       alert(data);
    }
 });

For more information, see: http://api.jquery.com/jQuery.ajax/

like image 185
Fábio Batista Avatar answered Sep 22 '22 12:09

Fábio Batista


Use on your client side ajax like this

 $.ajax({
        type: "POST",
        url: "insert-data.php",
        data: 
    {student_name:student_name,student_roll_no:student_roll_no
     ,student_class:student_class},
        dataType: "JSON",
        success: function(data) {
         $("#message").html(data);
        $("p").addClass("alert alert-success");
        },
        error: function(err) {
        alert(err);
        }
    });

in server side after query excecute you may use it give success when you query success false when your query has fault

if($stmt->execute())
 {
$res="Data Inserted Successfully:";
 echo json_encode($res);
}
 else {
 $error="Not Inserted,Some Probelm occur.";
echo json_encode($error);
  }
like image 37
Ram Avatar answered Sep 19 '22 12:09

Ram