I have a function with jquery getJSON and i need the return the result value back (to Use it somewhere else)
Here is the code:
function getval(){
jQuery.
You might try using a callback
function:
function getval( callback ){
jQuery.getJSON('http://data.mtgox.com/api/1/BTCUSD/ticker?callback=?', function(data) {
// We can't use .return because return is a JavaScript keyword.
callback(data['return'].avg.value);
});
}
$(function () {
$(document).ready(function() {
getval( function ( value ) { alert( 'Do something with ' + value + ' here!' ) } );
});
});
Hi getJSON asynchronous call so its return undefind
so you need to fire ajax call pass with this args asnyc:false
Ex:
function getCountrycodeJson(obj) {
var code="";
$.ajax({
async: false,
dataType : 'json',
url: "url",
type : 'GET',
success: function(data) {
for(var i in data){
//here do your logic and assign value for code varable
}
}
}});
return code;
}
this is working for me.....
Here is the final solution:
function getval( callback ){
jQuery.getJSON('http://data.mtgox.com/api/1/BTCUSD/ticker', function(data) {
// We can't use .return because return is a JavaScript keyword.
callback(data['return'].avg.value);
});
}
$(function () {
$(document).ready(function() {
getval( function ( value ) {
alert( 'Do something with ' + value + ' here!' );
} );
});
});
Thanks everyone for your help!!
Ajax calls are asynchronous, so you can't have the getVal()
function return something. Whatever you need to do with the result, you have to do it in inside the callback function.
function getval() {
jQuery.getJSON('http://data.mtgox.com/api/1/BTCUSD/ticker?callback=?', function(data) {
// You have to use "data" here
alert(data['return'].avg.value);
});
}
$(function () {
$(document).ready(function() {
getval();
});
});