这个问题在这里已有答案:
我正在使用$.get
功能从动作方法中获取json数据。但是出于$.get()
函数的JavaScript变量获取默认值。
代码看起来像:
var data = 0;
$(document).ready(function () {
var url = "/Controller/Action";
$.get(url, null, function (Data) {
data = JSON.stringify(Data);
console.log(data);
});
console.log(data);
});
输出显示如下:
[{"Name":"Jatin","Address":"surat","colorScheme":"#1696d3"},{"Name":"Jatin","Address":"surat","colorScheme":"#1696d3"},{"Name":"Jatin","Address":"surat","colorScheme":"#1696d3"}]
然后
显示
0
。
我如何使用超出范围的数据值?
不要在$ .get调用中的数据前面声明'var'。这声明了一个新变量。由于数据已经在函数范围之外定义,因此通过执行“data = JSON.stringify(Data);”来简单地更改值。
var data = 0;
$(document).ready(function () {
var url = "/Controller/Action";
$.get(url, null, function (Data) {
data = JSON.stringify(Data);
console.log(data);
});
console.log(data);
});
编辑:与OP聊天后,他试图以同步方式使用$ .get的响应数据。为此,我建议移动依赖于ajax成功函数中的响应数据的代码或使用jquerys $ .when()函数