Reputation: 1726
I have json string retuned via a ajax call
$.ajax({
type: 'GET',
url: quoteURL,
dataType: 'json',
timeout: 10000,
crossDomain: true,
success: function(result) {
/// required code
}
});
The returned json response from server is
{
_emptyscopedata: [
{},
{}
],
errMsgBuffer: {
errMsg: ''
},
descriptor: [
{
template: 'projects/mobile/market/mostactives.xsl',
componentname: 'getmostactives'
},
{
template: '',
componentname: 'quotelist'
}
],
'invest.mostactive': {
MoverExchange: 'NSDQ',
MoverType: 'ACT',
urlType: ''
},
quotelist: {},
'quote.quote': [
{
timezoneid: 'EST',
change: '0.01',
halted: '0',
type: 'EQ',
bidsize: '2900',
fastmarket: '0',
asksize: '300',
close: '16.64',
timestamp: 'May 18, 2011 3:00 PM EST',
open: '16.64',
productid: 'CSCO:NSDQ:EQ',
bid: '16.63',
exchange: 'NSDQ',
symbol: 'CSCO',
news: '0',
quotetype: '2',
percentchange: '0.0006',
symboldesc: 'CISCO SYS INC COM',
price: '16.65',
utctime: '1305748800',
volume: '92738240',
high: '16.66',
quotestatus: '0',
low: '16.34',
ask: '16.64',
timestring2: '05/18/11 04:00 PM ET'
},
{
timezoneid: 'EST',
change: '0.04',
halted: '0',
type: 'EQ',
bidsize: '91200',
fastmarket: '0',
asksize: '241000',
close: '2.14',
timestamp: 'May 18, 2011 3:00 PM EST',
open: '2.13',
productid: 'SIRI:NSDQ:EQ',
bid: '2.17',
exchange: 'NSDQ',
symbol: 'SIRI',
news: '0',
quotetype: '2',
percentchange: '0.0187',
symboldesc: 'SIRIUS XM RADIO INC COM',
price: '2.18',
utctime: '1305748800',
volume: '74540998',
high: '2.2',
quotestatus: '0',
low: '2.12',
ask: '2.18',
timestring2: '05/18/11 04:00 PM ET'
}
]
}
I want to show some of the values of the response on the site. But I am not able to retrieve the values. Can someone help.
Upvotes: 0
Views: 1002
Reputation: 3411
You can use define a global variable in case you want to use the response out the success function scope. Just use
var cachedResp;//at global scope
$.ajax({
type: 'GET',
url: quoteURL,
dataType: 'json',
timeout: 10000,
crossDomain: true,
success: function(result) {
cachedResp = result; //this is now available out of the function
}
});
Upvotes: 0
Reputation: 1039538
$.ajax({
type: 'GET',
url: quoteURL,
dataType: 'json',
timeout: 10000,
crossDomain: true,
success: function(result) {
alert(result.descriptor[0].template);
}
});
and if you wanted to loop through all descriptors:
$.each(result.descriptor, function() {
var template = this.template;
var componentname = this.componentname;
// TODO: process the template and componentname
});
or:
alert(result['invest.mostactive'].MoverExchange);
etc... depending on what you want to show
Upvotes: 2