2013-01-13 35 views
0

我試圖從標準控制器加載的剃鬚刀頁面內從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

+0

我不確定我的理解,你能編輯從服務器返回到你的問題確切的響應?是否回覆了答覆?這可能是一個路由問題 –

+0

請參閱我的問題編輯 - 視圖是由MyController創建的,所以它看起來像getJSON最初看起來在那個我不希望它做的控制器! – Marcel

+0

你的路徑是相對的,這就是問題 –

回答

1

代替使用「/ api/explorerapi/GetAvailableGroups?」。

+0

就是這樣!謝謝! – Marcel