7

I'm working at an app which would make a POST ajax request to a PHP script on my server. The script would query the database and return a row of records, as an array. (One array for each row, containing elements such as id, title, etc). I then want to use json_encode() to encode this array, and pass it back to the javascript which will use it to display the records.

1) How can I return the JSON encoded string to the javascript? 2) How will the javascript loop through the rows and access their fields?

3 Answers 3

12

To get JSON with jQuery, just use jQuery.getJSON(). Alternatively, you can use any other AJAX tool and then just eval() the json to get a javascript object.

To loop through an array, I usually use jQuery.each():

var recordList = yourMethodToGetRecordListWithAjax();

jQuery.each(recordList, function()
{
    alert(this.Name); // For example
});
Sign up to request clarification or add additional context in comments.

7 Comments

There's a small typo in your answer, jquery.each should be $.each. Other than that it works good :)
Here's my code: $.getJSON("getData.php",data,myFunctionToLoopThroughResults);
$ is a shortcut for jQuery - I prefer to write jQuery for "static" things like each() and use $ for "non-static" things like queries as I believe it enhances readability.
But it's really up to you and your personal taste.
I tried using jquery but it gave me an error in firebug, so I dunno
|
4

1) in the php script:

$return["foo"]  = "bar";
$return["blah"] = "bleg";
print json_encode($return);

2) in the javascript:

$.ajax({
  type: "POST",
  url: URL,
  cache: false,
  data: values,
  dataType: 'json',
  success: function(json) {
    var foo = json.foo;
    if (json.blah == "bleg") {
      // do stuff 
    }
  } // end success function
}); // end ajax call

Comments

0

You can return the JSON encoded string to the JS by echoing it with a Content-Type of application/json.

See above answer for the rest.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.