2016-03-03 47 views
-1

嗨,在我的要求中,我嘗試使用ngresource編寫post方法,但現在我想將其更改爲get方法。任何人都可以幫助我解決這個問題。我是新來angularjs預先感謝如何使用ng資源編寫get方法

$scope.clickresult = {}; 
     var Call = $resource('../api/Home', {}, { query: { method: 'POST', isArray: true} }); 
     $scope.click = function() { 
      //alert("hi");    
      $scope.selected = ""; 
      var x = $('#txtSearch').val(); 
      var _ReqObj = new Object(); 
      _ReqObj.id = x; 
      _ReqObj.Meth = "CD"; 
      // alert(x); 
      Call.query({}, _ReqObj, 
         function (response) { 
          if (response == '') { 
           // alert('no data'); 
           window.location.replace("#/"); 
          } 
          else { 
           //alert("daata"); 
           $scope.message = response; 
          } 
         }, 
            function (error) { 
             window.location.replace("#/"); 

            } 
           ); 
     }; 
+0

你連續三次問這個問題。請關閉其中兩個問題,只留下一個問題。 –

+0

因爲那個問題很重要 – chaitanya

+0

我明白你想要一個答案。請在嘗試閱讀文檔之前先仔細閱讀以下內容:https://docs.angularjs.org/api/ngResource/service/$resource –

回答

0

這是一些初步的幫助,所以你可以解決你自己的未來問題。

1.使用開發工具看到錯誤,請求和響應:從菜單或使用CMD https://developers.google.com/web/tools/chrome-devtools/

打開工具+ ALT +我在Mac或CTRL + SHIFT +我在Windows上。

在開發人員工具的「網絡」選項卡中,您可以看到與服務器的通信(例如request method = GET,來自服務器的響應)。在「預覽」標籤中,您可以看到服務器發送給您的json。告訴我你是否遇到問題,因爲在代碼中發現錯誤非常重要。

2.使用日誌記錄!

在angular中,您可以將$ log添加到您的代碼中,並使用$ log.log(「message」,object)可以輸出調試消息以及代碼中對象的當前狀態。您可以在「控制檯」選項卡中查看開發人員工具中的日誌消息。

3.閱讀文檔

角提供了它們的功能的文檔和例子。閱讀關於$ resource服務的資料https://docs.angularjs.org/api/ngResource/service/ $ resource

閱讀GET和POST方法之間的區別。

4.從教程嘗試一個簡單的例子並嘗試將其從互聯網上適應您的需求

複製一個簡單的資源例子,使其發揮作用。如果這件作品一步一步改變它,直到它是你需要的。

5.對於示例

請問你的服務器端腳本的工作?在你的問題中,我只能看到角碼。如果你想使用GET方法,服務器必須提供一個對GET起作用的函數。

的$資源服務已經提供了查詢方法:

{ 'get': {method:'GET'}, 
    'save': {method:'POST'}, 
    'query': {method:'GET', isArray:true}, 
    'remove': {method:'DELETE'}, 
    'delete': {method:'DELETE'} }; 

通常情況下,你不需要添加 「{查詢:{方法: 'POST',IsArray的:真正}」 到你的代碼。查詢功能已經存在!

要你只需要查詢功能發送GET請求:

var Call = $resource('../api/Home', {}); 

現在打開你的開發人員工具,進入網絡選項卡,然後在您的網站上執行的函數$ scope.click。你在網絡標籤中看到了什麼?該請求應該用「請求方法:GET」來觸發。服務器的答案是什麼?問題可能不在於你的角碼,而是在你的服務器代碼中。

試試這些東西,告訴我你是否需要更多的幫助。

+0

嘿,你解決了你的問題嗎? –

+0

沒有。我的web api是主要問題。所以現在我正在改變我的網頁API – chaitanya