1

重複の可能性:
VS 2010 Web アプリケーションでの ASP.NET Web Api CRUD 操作

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

私のコードが機能しないのはなぜですか?

前もって感謝します

アンドリアン

4

0 に答える 0