Веб-служба ASP.NET возвращает код 500 при вызове из контроллера AngularJS

0

Я создал веб-службу AMSX и работает правильно при обращении к URL-адресу:

public class ExpenseService : System.Web.Services.WebService
{

[WebMethod]
    public void Get()
    {
        List<Expense> expenses = new List<Expense>();
        expenses.Add(new Expense(1, "Netflix", "Netflix", 20.00, new DateTime()));
        expenses.Add(new Expense(2, "Spotify", "Spotify", 14.90, new DateTime()));
        JavaScriptSerializer js = new JavaScriptSerializer();
        Context.Response.Write(js.Serialize(expenses));      
    }
}

Изображение 174551

Однако, когда я делаю GET с моего контроллера AngularJS через $ http:

var app = angular.module("app", ["ngRoute"]);

app.config(function ($routeProvider) {
    $routeProvider.when("/home", {
        templateUrl: "Pages/Home.html",
        controller: "homeController"
    })
});

app.controller("homeController", function ($http) {
var self = this;
$http.get("ExpenseService.asmx/Get")
     .then(function (response) {
         self.expenses = response.data;
     })
});

Я получаю эту ошибку на консоли:

Изображение 174551

И если я нажму ссылку на сообщение об ошибке (подчеркнуто на изображении выше), я также получил сообщение об ошибке на странице:

Изображение 174551

Просто помните: я могу получить доступ к JSON при вводе URL вручную в браузере.

Теги:
web-services

1 ответ

0
[System.Web.Script.Services.ScriptService]//add it and try again 
public class ExpenseService : System.Web.Services.WebService
  • 0
    Сделал, все то же самое.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню