【问题标题】:ASP.NET Web Service returning code 500 when called from AngularJS controller从 AngularJS 控制器调用时,ASP.NET Web 服务返回代码 500
【发布时间】:2017-01-15 19:40:57
【问题描述】:

我设置了一个 AMSX Web 服务,它在访问 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));      
    }
}

但是,当我通过 $http 从我的 AngularJS 控制器进行 GET 时:

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;
     })
});

我在控制台收到此错误:

如果我点击错误消息中的链接(上图中带下划线),我也会在页面上收到错误:

请记住:在浏览器上手动输入 URL 时,我可以访问 JSON。

【问题讨论】:

    标签: javascript c# asp.net angularjs web-services


    【解决方案1】:
    [System.Web.Script.Services.ScriptService]//add it and try again 
    public class ExpenseService : System.Web.Services.WebService
    

    【讨论】:

    • 做了,还是一样。
    猜你喜欢
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 2015-11-15
    • 2017-10-28
    • 1970-01-01
    相关资源
    最近更新 更多