I'm a jQuery/jSON newby. I'm using jQuery getJSON() to do an AJAX request on
a separate PHP script, then I want to use the returned jSON object data to
update some form fields. I'm sure this is very basic and common, but I've
been reading doco. for days and can't get it to work.

Here's the local AJAX request - it's sending a local variable to the PHP
script and it has no callback function:

var objJson = $.getJSON('ajax/set_usr_fields.php', {ety_id:etyId});

Here is what is returned from the PHP script, according to the Firebug
console, it's what I intended (I've pasted this into a jSON validator and it
is valid jSON):

{"fields":{"ETY_ID":"2","ETY_NM":"A-001","DISPL_NM":"Sammys","LONG_DESC":"Some
text
here","C_CODE":"61","A_CODE":"5","PHONE":"778908","FAX":"","ADDRESS1":"11
Ward Park
Drive","CITY":"Somerton","STATE":"VIC","POSTCODE":"3912","CTRY_NM":"Australia","CTRY_CODE":"AU",
"PLIST":"default","TERRITORY":"Mornington
Peninsula","CONSULTANT":"galbraid"}}

I've added the following line to the local javascript to have a look at
what's returned (I understand it should be a jSON object, since I used
getJSON() ):

console.debug(objJson);

And here is what the Firebug console shows (sorry, the formatting didn't
work too well):

channel                 [xpconnect wrapped nsIChannel]
multipart               false
onerror                 null
onload                  null
onprogress              null
onreadystatechange      null
readyState              4
responseText    
"{"fields":{"ETY_ID":"2","ETY_NM":"A-001","DISPL_NM":"Sealite","LONG_DESC":"The
big Kahuna!","C_CODE"..."
responseXML             null
status                  200
statusText              "OK"
abort                   abort()
addEventListener        addEventListener()
dispatchEvent           dispatchEvent()
getAllResponseHeaders   getAllResponseHeaders()
getInterface            getInterface()
getResponseHeader       getResponseHeader()
open                    function()
overrideMimeType        overrideMimeType()
removeEventListener     removeEventListener()
send                    send()
setRequestHeader        setRequestHeader()

So far, not so good. I expected the jSON string to be converted to an object
I could access with dot notation (again, because I used getJSON()). In fact,
I can't even access the simple jSON string, as I tried this:

console.log(objJson.responseText);

I get "undefined"

I've been stuck on this for days, can anyone point out what I'm not
understanding, please?
-- 
View this message in context: 
http://www.nabble.com/Using-jQuery-to-access-jSON-object-tp21187201s27240p21187201.html
Sent from the jQuery General Discussion mailing list archive at Nabble.com.

Reply via email to