0

Angularjについていくつかの知識がありますが、私はASP.NET MVCを初めて使用しています。 私はこのhttps://docs.microsoft.com/en-us/aspnet/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-apiチュートリアルに従っていました。しかし、Jqueryを使用しているので問題が発生しました。私はAngularを使用して、コントローラの下にあるハードコードされたデータにアクセスしたいと思います。Angularjsを使用してMVCコントローラでハードコードされたデータにアクセスする

using ProductsApp.Models; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Web.Http; 

namespace ProductsApp.Controllers 
{ 
    public class ProductsController : ApiController 
    { 
     Product[] products = new Product[] 
     { 
      new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 }, 
      new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M }, 
      new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M } 
     }; 

     public IEnumerable<Product> GetAllProducts() 
     { 
      return products; 
     } 

     public IHttpActionResult GetProduct(int id) 
     { 
      var product = products.FirstOrDefault((p) => p.Id == id); 
      if (product == null) 
      { 
       return NotFound(); 
      } 
      return Ok(product); 
     } 
    } 
} 

データにアクセスするだけの方法です。

誰でも私にこれを手伝ってもらえますか?ありがとう

+0

であれば、ルート"api/products/1"を使うGetProduct()を呼び出すようにするには - ['$ http'](https://docs.angularjs.org/api/ng/service/$http)を参照してください。 – EdSF

答えて

0

サービスまたはAngularJSのコントローラで$httpを使用して、Web APIからデータにアクセスしてください。例:

$http.get("http://localhost:8080/api/products/getallproducts") 
    .then(function(response) { 
     console.log(response.data); 
    }); 
0

WebApiアプリケーションを作成する場合は、IHttpActionResult NameをGetに変更する必要があります。このURLを試してみてください:

localhost:8080/api/products/{id} 

* {id}はオプションです。

ルートを使用する場合は、App_Startフォルダ内のWebApiConfig.csを変更する必要があります。

0

あなたの状況でhttpサーバとの通信を確立するために使用されるangularjs $httpサービスを見てください。

$httpを使用して、GetAllProducts()を呼び出す"api/products"

このような
$http.get("api/products") 
    .then(function(response) { 
     console.log(response); 
}); 

ルートを使用して、あなたの製品がそれは同様であろう1

このような
$http.get("api/products/1") 
    .then(function(response) { 
     console.log(response); 
}); 
関連する問題