首页 > 解决方案 > 在客户端的另一个变量上存储返回 JSON 数据时遇到问题

问题描述

使用 jQuery Ajax 我能够从 PHP 端点取回 JSON 数据。现在在客户端,我需要将数据存储在更大范围的级别上,以便与 Ajacdone()success()功能范围之外的其他功能一起使用。所以我尝试将数据存储在tmpdata变量中,例如success()

success: function (data) {tmpdata = data;  }   

并且在.done()

requestdata.done(function (data) {
 tmpdata = data; 
)}

在代码中

//var tmpdata;
let tmpdata;

var requestdata = $.ajax({
...
dataType: "JSON",
success: function (data) {tmpdata = data;  }    
});

requestdata.done(function (data) {
 tmpdata = data; 
)}

function testdata(){
  console.log(tmpdata );
}


$("#data").on("click", function(){
   testdata();
 });

但我在运行时收到此错误testdata()

未捕获的 ReferenceError:未定义 tmpdata

你能告诉我如何解决这个问题以及是什么原因造成的吗?

标签: javascriptjqueryajax

解决方案


推荐阅读