Я использую внешний файл Javascript из веб-приложения MVC 5, чтобы отобразить диаграмму для представления. диаграмма использует модель, которая доступна только на стороне сервера, поэтому я кодирую модель в JSON с помощью встроенных js, как показано ниже, а затем вызывает внешнюю функцию, проходящую в строке JSON.Не удается вызвать внешний метод Javascript
<script type="text/javascript">
$(document).ready(function() {
var JSONdata = @Html.Raw(Json.Encode(Model.PastModels));
var count = @Html.Raw(Json.Encode(Model.PastModels.Count));
createChart(JSONdata, count);
});
Функция определена во внешнем файле.
function createChart(JSONdata, count) {
var dates = [];
var scores = [];
var name = ""
for (i = 0; i < count; i++) {
dates[i] = JSONdata[i].TheDate;
scores[i] = JSONdata[i].TotalScoreT;
}
var chart = 'totalChart';
name = " Total Score";
renderChart(chart, name);
$('.nav-tabs a').click(function (e) {
e.preventDefault();
var tab = this.id;
switch (tab) {
case 'socialTab':
for (i = 0; i < count; i++) {
dates[i] = JSONdata[i].TheDate;
scores[i] = JSONdata[i].SocialPhobiaT;
}
chart = socialChart;
name = ' Social Phobia';
break;
case 'panicTab':
for (i = 0; i < count; i++) {
dates[i] = JSONdata[i].TheDate;
scores[i] = JSONdata[i].PanicDisorderT;
}
chart = panicChart;
name = ' Panic Disorder';
break;
case 'depressionTab':
for (i = 0; i < count; i++) {
dates[i] = JSONdata[i].TheDate;
scores[i] = JSONdata[i].MajorDepressionT;
}
chart = depressionChart;
name = ' Major Depression';
break;
case 'separationTab':
for (i = 0; i < count; i++) {
dates[i] = JSONdata[i].TheDate;
scores[i] = JSONdata[i].SeparationAniextyT;
}
chart = separationChart;
name = ' Separation Anxiety';
break;
case 'obsessiveTab':
for (i = 0; i < count; i++) {
dates[i] = JSONdata[i].TheDate;
scores[i] = JSONdata[i].ObsessiveCompulsiveT;
}
chart = obsessiveChart;
name = ' Obsessive Compulsive Disorder';
break;
case 'generalTab':
for (i = 0; i < count; i++) {
dates[i] = JSONdata[i].TheDate;
scores[i] = JSONdata[i].GeneralizedAnxietyT;
}
chart = generalChart;
name = ' Generalized Anxiety';
break;
case 'totalTab':
for (i = 0; i < count; i++) {
dates[i] = JSONdata[i].TheDate;
scores[i] = JSONdata[i].TotalScoreT;
}
chart = totalChart;
name = ' Total Score';
break;
}
renderChart(chart, name);
});
}
Включая внешний файл, используя раздел.
@section HeadValues{
<script src="https://code.highcharts.com/highcharts.js" type="text/javascript"></script>
<script src="https://code.highcharts.com/modules/exporting.js" type="text/javascript"></script>
<script src="~/scripts/RCADSResultPage.js" type="text/javascript"></script>
}
Однако, всякий раз, когда страница загружается, я получаю сообщение об ошибке «Функция createChart не определена».
Любые предложения были бы очень признательны.
Спасибо.
Это может быть шанс, когда документ готов выполняется до вашего внешней нагрузки файла –