从JSON输出变量值[重复]

时间:2022-04-19 14:00:03

This question already has an answer here:

这个问题在这里已有答案:

function calcula(item) {
  var produtos_total = 0;

  $.getJSON(url, {id: 1, ajax: 'true'}, function(j){
    var options;
    for (var i = 0; i < j.length; i++) {
        options = j[i].valor;
    }
    produtos_total = options;
    // alert(produtos_total); < - HERE PRINT
  }); // JSON

  alert(produtos_total); // HERE NOT :'(
}

1 个解决方案

#1


0  

Things are not happening in the order you think they are.

事情并没有按照你认为的顺序发生。

function calcula(item) {

  // 1. start here
  var produtos_total = 0;

  // 2. set up an AJAX call
  $.getJSON(url, {id: 1, ajax: 'true'}, function(j){

    // 4. later, after the AJAX call completes

    var options;
    for (var i = 0; i < j.length; i++) {
        options = j[i].valor;
    }
    produtos_total = options;

    alert(produtos_total);   // NOW we have a value
  }); // JSON

  // 3. leave the function
  alert(produtos_total); // no value yet. AJAX hasn't completed
}

#1


0  

Things are not happening in the order you think they are.

事情并没有按照你认为的顺序发生。

function calcula(item) {

  // 1. start here
  var produtos_total = 0;

  // 2. set up an AJAX call
  $.getJSON(url, {id: 1, ajax: 'true'}, function(j){

    // 4. later, after the AJAX call completes

    var options;
    for (var i = 0; i < j.length; i++) {
        options = j[i].valor;
    }
    produtos_total = options;

    alert(produtos_total);   // NOW we have a value
  }); // JSON

  // 3. leave the function
  alert(produtos_total); // no value yet. AJAX hasn't completed
}