I have used json_encode to encode two php arrays and now i have to read through ajax. Could anyone please let me know how to read those arrays through ajax request.

For example: i have a php file file1.php which has

echo json_encode($array1);
echo json_encode($array2);

Another file in which i read as follows:

For reading single encoded array i am reading like this

new Ajax.Request("file1.php",
       {
         method:'get',
         asynchronous:false,
         parameters: ({id: stopID, contains: tempContain}),
          onSuccess:function(data){
                var result=data.responseJSON;

                var keys = Object.keys(result);
                var values = Object.values(result);

                for(var i = 0; i < keys.length; i++) {
                     infoString += keys[i]+":"+values[i];
                }               
  });
link|improve this question

57% accept rate
1  
You'll have to post the contents of your php arrays. Also, are you doing this through vanilla JavaScript or are you using a library like jQuery? – Richard Marskell - Drackir Mar 22 '11 at 15:14
1  
actually, can you show us what you have so far? did you successfully get the ajax to return the encoded json? – kjy112 Mar 22 '11 at 15:18
feedback

2 Answers

You can use jquery, it will save you a lot of time ;) There are examples in this link:

http://api.jquery.com/jQuery.getJSON/

link|improve this answer
feedback

With jQuery Ajax

$.ajax({
  url: '/path/to/file',
  type: 'POST',
  dataType: 'json',
  data: {param1: 'value1'},
  complete: function(xhr, textStatus) {
    //called when complete
  },
  success: function(data, textStatus, xhr) {
    //called when successful
  },
  error: function(xhr, textStatus, errorThrown) {
    //called when there is an error
  }
});


link|improve this answer
feedback

Your Answer

 
or
required, but never shown
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.