標準コントローラーによって読み込まれたかみそりページ内から web-api コントローラーからデータを読み込もうとしています。
ただし、 $.getJSON() を実行しようとすると、 getJSON メソッドが呼び出しの前に元のコントローラー名を追加するため、失敗します。どうすればこれを回避できますか?
例: Razor ビューがコントローラー MyController から読み込まれます。メソッドを実行したい ExplorerApi という webapi コントローラーがあります。だから私が呼び出すカミソリビュー内から
$.getJSON("api/explorerapi/getavailablegroups?userid=marcel", function (data))
jQuery が前に MyController を追加し、次のように変換したため、これは失敗します。
$.getJSON("MyController/api/explorerapi/getavailablegroups?userid=marcel", function (data))
編集 -
ブラウザーから Web API を呼び出すと、ブラウザーに入力するだけで json データが返されますhttp://localhost:59475/api/ExplorerApi/getavailablegroups?userid=marcel&context=pf
。ただし、以下のコードを使用すると、元のコントローラー名が前に追加されます!
var uID = sessionStorage.getItem("symUserID");
var v = "userid=" + uID + "&context=portfolio";
$.getJSON("api/explorerapi/GetAvailableGroups?" + v, null, function (data) {
debugger;
})
.fail(
function (jqXHR, textStatus, err) {
debugger;
alert(err);
});
警告メッセージは次のように表示されます: 見つかりません - データの jqXHR.responseText ロードを調べると、エラー 404 があり、実行しようとしているステートメントのさらに下に、元のコントローラーの名前が配置されています!!
要求された URL http://localhost:59475/MyController/api/explorerapi/GetAvailableGroups?userid=marcel&context=portfolio&_=1358064733267