1

MVC4 Web API を学習しようとしています。VS2010 自体からプロジェクトを実行しています。

私のプロジェクト URL は localhost:31735 です

ブラウザ自体から WebAPI を直接呼び出す場合。localhost:31735/api/products/ のように動作します

プロジェクト外の通常の HTML ファイルから Webapi を呼び出したいと思います。

私はこれをやろうとしました

 $(document).ready(function () {
           // Send an AJAX request 
            $.getJSON("http://localhost:31735/api/products/",
            function (data) {
            // On success, 'data' contains a list of products. 
               $.each(data, function (key, val) {

                // Format the text to display. 
                var str = val.Name + ': $' + val.Price;

                // Add a list item for the product. 
                $('<li/>', { html: str }).appendTo($('#products'));
            });
        });
    });

しかし、これは機能しません。手伝ってくれますか。

4

1 に答える 1

3

プロジェクト外の通常の HTML ファイルから Webapi を呼び出したいと思います。

クロスドメイン AJAX リクエストの送信を妨げる同一オリジンポリシーの制限により、これを行うことはできません。さまざまな回避策が考えられますが、そのうちの 1 つは、JSON の代わりにJSONPを使用することです。

これは、カスタム メディアフォーマッタを使用してそれを実現する方法を説明する投稿です。

于 2012-06-28T10:38:47.870 に答える