Я создаю приложение MVC с угловым интерфейсом. У меня есть вызов AJAX, который автоматически извлекает данные из подключенного сервиса через метод действия в домашнем контроллере при загрузке страницы.
Я отлаживаю ошибку, которая генерируется методом AJAX get
, и не могу понять, в чём дело.
Вот кусочки
Метод действия:
public JsonResult DataRefresh()
{
string data = ServiceCache.NewDataCheck(DataConfig.currentUser.UserName);
return Json(data);
}
Я установил точку останова, чтобы подтвердить , что data
содержит надлежащим образом отформатированную строку Json
Вот вызов AJAX + угловой контроллер, в котором он находится:
// Stores the serialized contents of the view model
app.controller("processModel", function ($scope) {
$scope.sortType = 'SchedWk';
$scope.sortReverse = false;
$scope.GetData = function() {
LoadData();
};
function LoadData() {
$.ajax({
type: "GET",
url: 'Home/DataRefresh',
dataType: "json",
success: function (data) {
$scope.data = data;
},
error: function (a, b, c) {
alert("The jqXHR object: " + a + " Error Type: " + b + " Error Description: " + c);
}
});
return false;
};
});
Я успешно вызываю этот метод при загрузке страницы, который соответствует указанному выше методу действия, но я получаю следующую ошибку:
Это мой первый проект, использующий AJAX, поэтому я почти не представляю, как расшифровать это сообщение об ошибке. Я прочитал документацию и никакой дополнительной информации о том, что могли бы указывать эти конкретные сообщения об ошибках, нет.
Самая полезная информация, которую я могу понять, это то, что это не ошибка разбора, поэтому формат возвращаемой строки JSON, скорее всего, правильный.
UPDATE:
Я добавил JsonRequestBehavior.AllowGet
к возвращению в методе действия JsonResult, и это предотвратило возникновение ошибки, однако у меня до сих пор нет никаких данных. Я думаю, что это может быть проблемой при попытке получить доступ к Angular $ scope непосредственно в функции AJAX.