次のプロジェクトでソリューションを作成しました
FrontEnd は mvc4 Web アプリケーションであり、MyWebAPI は mvc4 WebAPI です。
FrontEnd プロジェクトから MyWebAPI コントロール メソッドにアクセスできるようにしたいと考えています。しかし、webAPI url を実行したときにデータが見つからなかったと不平を言うだけなので、機能しません。
フロントエンドが MyWebAPI と通信できるようにするには、さらに何かを行う必要がありますか?
たとえば、この事前に生成された webAPI コントロール メソッドを実行しようとしただけです。
public string Get(int id)
{
return "value";
}
見つかりませんでした。ただし、スタートアップ プロジェクトを MyWebAPI に変更すると、機能します。私の質問は、FrontEnd プロジェクトから MyWebAPI にアクセスできるようにする方法です。
この質問は実際にはこれと同じですが、同じソリューション内にある場合にフロントエンドから webAPI にアクセスする方法について説明していません
編集
$(document).ready(function() {
$("#clickMe").click(function() {
var id = $("#dataBox").val();
$.ajax({
url: "http://localhost:11982/api/Movie/GetMovie",
data: { id: id },
type: "get",
contentType: "application/json;charset=utf-8",
success: function(data) {
alert(data);
},
error: function(jqXHR, status, errorThrown) {
// alert("Error " + status + "\nError Thrown" + errorThrown + "\n" + jqXHR )
}
})
})
})
2012-08-30 更新
ソリューションのさまざまなパッケージを更新しました。その中には、WebAPI ベータ版から WebAPI rc バージョンへの更新が含まれていました。そして、何らかの理由でフォームリクエストまたはajaxリクエストをWebAPIコントローラーのいずれかに送信すると、そのようなコントローラーが見つからなかったというフォームリクエスト応答が返され、ajaxリクエストの場合、応答を返さずに永遠にロードされます.
以前に同様の問題を経験した人はいますか?
以前の解決策は、ローカル IIS サーバーで FrontEnd と MyWebAPI を実行することでした。ただし、すべてのパッケージを更新したため、現在は機能しなくなりました。