簡體   English   中英

從AngularJS控制器調用時ASP.NET Web服務返回代碼500

[英]ASP.NET Web Service returning code 500 when called from AngularJS controller

我設置了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。

[System.Web.Script.Services.ScriptService]//add it and try again 
public class ExpenseService : System.Web.Services.WebService

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM