我有一个变量“multi”,与我在 js 文件中使用的名称相同。我需要为我的 aspx 页面中的变量设置一个值并将其传递到 javascript 文件。找不到任何帮助。
aspx脚本代码
var itemdata = [];
var multi;
//var plot;
$(document).ready(function () {
$.ajax({
type: "POST",
url: "ChartBinder.asmx/BindChart",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
//alert(multi);
var resultObj = $.parseJSON(response.d);
multi = resultObj;
// alert(resultObj.Pie);
multi.Trend = resultObj.Trend;
//alert(multi.Trend);
$.getScript('Scripts/highcharts.src.js', function () {
DrawPie(resultObj.Pie);
DrawTrend(resultObj.Trend);
// do something here
});
},
error: function (msg) {
alert("Error");
}
});
});
js脚本
(function () {
var seriesCount = window.multi.Trend.length;
var newcolors = [];
for (i = 0; i < seriesCount; i++) {
newcolors[i] = multi.Trend[i].color;
}
})
最佳答案
multi
应该在全局范围内,以便在您的包含范围内使用,因为您已在 Global
范围内声明它,即功能 block 之外的文档顶部。
尝试改变
var seriesCount = window.multi.Trend.length;
至
var seriesCount = multi.Trend.length;
题外话:
您不需要执行 multi.Trend = resultObj.Trend;
赋值,因为您已经完成了 multi = resultObj;
。
关于javascript - 如何从 aspx 文件中的脚本将值设置为 script(.js) 文件中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14258546/