我試圖從標準控制器加載的剃鬚刀頁面內從web-api控制器加載數據。
但是,當我嘗試執行$ .getJSON()時失敗,因爲getJSON方法在調用前添加了其原始控制器名稱。我該如何解決這個問題?
示例:從控制器MyController加載剃鬚刀視圖。我有一個名爲ExplorerApi的webapi控制器,我希望在其上執行一個方法。 於是從剃刀視圖中我打電話
$.getJSON("api/explorerapi/getavailablegroups?userid=marcel", function (data))
因爲jQuery已經在前面加myController的,所以它轉換成失敗:
$.getJSON("MyController/api/explorerapi/getavailablegroups?userid=marcel", function (data))
編輯 -
我可以調用web瀏覽器的api,它只需在瀏覽器中輸入http://localhost:59475/api/ExplorerApi/getavailablegroups?userid=marcel&context=pf
即可快速返回json數據! 但使用下面的代碼,它將在前面添加它的原始控制器名稱!
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://本地主機:? 「?API/explorerapi/GetAvailableGroups」 59475/myController的/ API/explorerapi/GetAvailableGroups用戶id =馬塞爾&背景=投資組合& _ = 1358064733267
我不確定我的理解,你能編輯從服務器返回到你的問題確切的響應?是否回覆了答覆?這可能是一個路由問題 –
請參閱我的問題編輯 - 視圖是由MyController創建的,所以它看起來像getJSON最初看起來在那個我不希望它做的控制器! – Marcel
你的路徑是相對的,這就是問題 –