So I’m building a web application and I have an ajax request that pings a database (or database cache) and echos back a big thing of json. I’m totally new to json, and when the php pulls from the database I echo json_encode($databaseResults), then it shows up in my html page as a long string. My question is, how do I convert it and pull out the pieces I need into a nice format?
Thanks!
The Json result that was in the page looks like:
“[{\”currentcall\”:\”1\”,\”timecalled\”:\”15:30\”,\”etaTime\”:\”15:35\”,\”departmentID\”:\”1\”,\”memberID\”:\”1\”,\”callinnum\”:\”1\”,\”location\”:\”Fire House\”,\”billed\”:\”N\”,\”date\”:\”2\\/12\\/11\”,\”firstName\”:\”Phil\”,\”lastName\”:\”asdf\”,\”email\”:\”pasdf@gmail.com\”,\”homephone\”:\”+19111111111\”,\”cellphone\”:\”+11234567891\”,\”cellphone2\”:null,\”workphone\”:null,\”phonenumber5\”:null,\”phonenumber6\”:null,\”streetAddress\”:\”10 asdfnt Dr\”,\”city\”:\”\”,\”username\”:\”pgsdfg\”,\”password\”:\”0623ab6b6b7dsasd3834799fbf2a08529d\”,\”admin\”:\”Y\”,\”qualifications\”:\”Interior\”,\”rank\”:null,\”cpr\”:null,\”emt\”:null,\”training\”:null,\”datejoined\”:null,\”dateactive\”:null,\”state\”:\”DE\”,\”zip\”:\”51264\”,\”pending\”:\”NO\”,\”defaultETA\”:\”7\”,\”apparatus\”:\”asdKE-286\”}]”
There can be multiple results… this is only one result
EDIT:
Basically, I’m trying to pass a bunch of rows in an array into an html file, and take out only the data I need and format it. I don’t know if json is the best way to do this or not, just one solution I came up with. So if anyone has a better solution that would be awesome.
Edit2:
This is the jquery I have that makes the request, the php just has echo json_encode ($DBResults);
function getResponder(){
var responders = $.ajax({
type : "POST",
url: "/index.php/callresponse/get_responders",
success: function(html){
$("#ajaxDiv").html(html);
}
});
setTimeout("getResponder()", 10000);
}
As you flagged this as jquery I assume that you’re using jQuery. If you’re only going to get the one string you can skip the json part and use jQuery .load() like this
$('#result').load('ajax/test.php');that will load the contents from ajax/test.php into #resultHowever if you want to use json you can take a look over at getJSON on the jQuery documentation. You can also use the jQuery parseJSON function which will return the json an javascript object containing the jsonData.
Here’s an example how you can use parseJSON
Here’s an example of how you can use getJSON in the same way
If you want to pass parameters as well you can do it like this
If you are trying to send json from javascript to php you can use
Of course if you’re using post you’ll write $_POST instead.