Web Api を使用して、vs 2010 (Web フォームではない) の Web アプリケーション プロジェクトで CRUD 操作を作成しようとしました。Web アドレス ' http://localhost:7031/api/product/ 'を介してコントローラーの値を返すことに成功しまし
たが、jquery ajax で試してみると、コントローラーは値を返しません。
ベローは私のコードです:
ルート/Global.asax:
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}", // browse with localhost:7031/api/product
//routeTemplate: "{controller}/{id}", // browse with localhost:7031/product
defaults: new { id = System.Web.Http.RouteParameter.Optional }
);
}
コントローラー:
namespace MyLabs1.Controller
{
public class ProductController : ApiController
{
NorthwindEntities db = new NorthwindEntities();
public IEnumerable<Product> GetAll()
{
return db.Products.AsEnumerable();
}
Ajax Jquery ページ:
<script src="Script/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="Script/jquery-1.7.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('#<%= cviewproduct.ClientID %>').click(function (e) {
getProducts();
});
});
function getProducts() {
$.getJSON("/api/product/",
function (data) {
$.each(data, function (key, val) {
var str = val.productName;
alert(str)
});
});
}
私のコードが機能しないのはなぜですか?
前もって感謝します
アンドリアン