Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从json接收数据并将其存储到变量中?_Javascript_Html_Json_Ajax - Fatal编程技术网

Javascript 如何从json接收数据并将其存储到变量中?

Javascript 如何从json接收数据并将其存储到变量中?,javascript,html,json,ajax,Javascript,Html,Json,Ajax,我这里有一段代码: $.get("/upcase", {text: text}) .done((data) => { $('#results').prepend('<li>' + data['result'] + '</li>'); $('#input').val(''); // reset the textbox }); 在现有变量之外,在需要它的范围内声明一个变量。比如说全球。然后将数据分配给它。i、 e let globalResult;

我这里有一段代码:

$.get("/upcase", {text: text})
.done((data) => {
    $('#results').prepend('<li>' + data['result'] + '</li>');
    $('#input').val(''); // reset the textbox
});

在现有变量之外,在需要它的范围内声明一个变量。比如说全球。然后将数据分配给它。i、 e

let globalResult;   
$.get("/upcase", {text: text})
  .done((data) => {
    globalResult = data;
    $('#results').prepend('<li>' + data['result'] + '</li>');
    $('#input').val('');   // reset the textbox
  })
let globalResult;
$.get(“/upcase”,{text:text})
.完成((数据)=>{
全局结果=数据;
$('#results')。前置('
  • '+数据['result']+'
  • '); $('#input').val('')//重置文本框 })

    请记住,数据将是一个对象,并通过引用而不是值进行复制。因此,如果您更改数据或globalData,它将更改另一个。如果这不好,您需要实际复制每个元素。

    让something=data['results'
    @CodingYoshi当我打印它时,它显示“未定义”,可能是因为您没有在
    .done
    的范围内打印它。如果你在外面需要它,请参阅下面的答案。对不起,我不是想结束这个问题-可能是重复的-但不确定,因为这个问题写得不好可能是重复的,所以我尝试了
    globalresult=data['result']
    ,但数据确实通过了。但是我尝试在
    $范围之外打印它。get
    范围显示
    变量可能尚未初始化,为什么?可能是因为您在异步请求返回之前打印它。我没有初始化它。因此,将其更改为globalResult={};它将打印一个空对象。在get返回之前,它不会有内容。
    
    let globalResult;   
    $.get("/upcase", {text: text})
      .done((data) => {
        globalResult = data;
        $('#results').prepend('<li>' + data['result'] + '</li>');
        $('#input').val('');   // reset the textbox
      })