2012-08-29 160 views
2

我做了一個WCF REST服務,它返回JSON格式的響應,現在我想
從javascript中調用它。但是當我嘗試調用它時,我無法查看任何響應。 爲了使一個javascript調用我寫了這個:javascript調用wcf服務

<script src="Scripts/jquery-1.5.2.min.js" type="text/javascript"> 
</script> 
<script language="javascript" type="text/javascript"> 
function Greeting() { 
    $("#btnWCFREST").click(function() { 
     $.ajax({ 
      url:"http://localhost:8732/Services/RoleService/json/Role/provider", 
      type:"GET", 
      dataType:"json", 
      contentType:"application/json; charset=utf-8", 
      successs: function(msg) { 
         alert(msg); 
      }, 
      Error: function(msg) { 
         alert("Failed"); 
      } 
     }); 
    } 
} 
</script> 

我怎樣才能得到響應。我哪裏錯了?

回答

1

你有一個語法錯誤 - 你永遠不收你click方法調用的括號:

 }); // end .ajax function 
    } // // end .click function - should be }); 
} // end Greeting function declaration 

此外,Error:error:(JavaScript是區分大小寫)。

+0

感謝您的幫助.. – cutiepie

+0

我讓你上面說的更改和運行應用程序的ur.But當我檢查在developerTools控制檯窗口我有這樣的錯誤:無法加載資源:服務器狀態爲405(方法不允許) http:// localhost:8732/IServices/RoleService/json/Role/provider XMLHttpRequest無法加載http:/ http:// localhost:8732/IServices/RoleService/json/Role/provider Access-Control-Allow-Origin不允許來源http:// localhost:3098。我怎樣才能擺脫這個錯誤? – cutiepie

+0

@cutiepie - 您正在爲您的頁面和Web服務提供不同的端口 - 這意味着它就跨瀏覽器而言是跨域的。既可以從同一端口爲它們提供服務,也可以讓Web服務發送一個'Access-Control-Allow-Origin'標頭,該標頭允許從JavaScript所在的'domain:port'進行訪問。 –

1

您在successs中有另外s。將其更改爲success以使該功能生效。

此外,您在Error中使用了大寫E。我相信Javascript是區分大小寫的,所以您可能需要將其更改爲error(全部小寫)。

傳遞給錯誤函數的第一個參數將是jqXHR對象,並且第二個參數是錯誤消息。所以如果你真的想要得到錯誤信息(你可能沒有,因爲你沒有使用它),那麼你將需要添加另一個參數到你的error函數。

最後,正如@SeanVieira指出的,您錯過了click函數的右括號。

+0

感謝您的幫助... – cutiepie