2014-05-21 32 views
0

我是一個ASP.net,JavaScript,jQuery,ajax等總新手我曾經是一個WPF程序員,但已交給一個Web應用程序來寫(我的第一個)和我面臨着很多問題。我有jquery/ajax調用,我必須連接到WCF JSON REST服務(使用Fiddler測試)。該服務工作正常,但我無法通過jQuery連接到服務。我似乎無法調試它(我習慣於直接在C#中進行調試,你如何調試呢?我曾嘗試過使用chrome工具 - >開發人員工具,它看起來好像沒有進入$ .ajax部分,但我不確定我的結果是否準確)。無法通過MVC4連接到服務jQuery Ajax

此外,你需要什麼庫/其他設置jquery/ajax工作?

這是我的輸入按鈕:」「

<script type="text/javascript"> 

    function POSTMethodCall() { 
     alert("entered function"); 
     debugger; 
     $.ajax({ 
      type: "GET", 
      url: "http://localhost:1282/DispatchAcceptStatsService.svc/GetStr", 
      //    data: JSON.stringify(), 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (data) { 
       alert("entered success function"); 
      }, 
      error: {alert:"entered error function"} 
     }); 

    } 

</script> 

更新:我想我設法得到它在那個錯誤陳述打破。這裏是「觀察窗口」的副本。但responseText似乎是空白的。 (狀態:0)狀態碼:函數(映射){狀態文本:「錯誤」成功:功能()() {then:function(doneCallbacks,failCallbacks,progressCallbacks){proto:Object - Tanuj Oruganti 22分鐘前

但是,這些是控制檯窗口的內容:event.returnValue已棄用。請改用標準的event.preventDefault()。 jquery-1.7.1.js:3445選項localhost:1282/DispatchAcceptStatsService.svc/GetStr 405(方法不允許)jquery-1.7.1.js:8102 XMLHttpRequest無法加載localhost:1282/DispatchAcceptStatsService.svc/GetStr。請求的資源上沒有「Access-Control-Allow-Origin」標題。 Origin'localhost:62175';因此不被允許訪問。提交:1 - Tanuj Oruganti 2分鐘前編輯

+0

如果您沒有收到「輸入的函數」警報,您沒有將'POSTMethodCall'正確綁定到您的按鈕的單擊事件。 –

+0

MVC4項目的模板應該已經包含jquery。如果您要使用Ajax幫助程序方法,還需要包含一個jquery.unobtrusive-ajax.js文件。除此之外,您不需要任何使用jquery ajax的內容。 – bsayegh

+0

您的輸入按鈕代碼目前沒有顯示任何內容。你沒有看到「輸入的錯誤功能」警報? – bsayegh

回答

0

我的猜測是,你得到一個錯誤,但沒有在正確的地方你的斷點。跨越ajax調用不會做任何明顯的事情,因爲它是異步的。嘗試在錯誤中添加一個調試器這樣

<script type="text/javascript"> 

    function POSTMethodCall() { 
    alert("entered function"); 
    debugger; 
    $.ajax({ 
     type: "GET", 
     url: "http://localhost:1282/DispatchAcceptStatsService.svc/GetStr", 
     //    data: JSON.stringify(), 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (data) { 
      alert("entered success function"); 
     }, 
     error: function(response) { 
      debugger; 
      alert("entered error function"); 
     } 
    }); 

} 

當它擊中你的錯誤陳述,檢查響應。它應該有一個responseText屬性,您可以檢查錯誤。

我還將錯誤處理程序更改爲正確的語法。一旦你看到錯誤,如果你不明白這意味着什麼,你可以重新發布問題或編輯錯誤。

相關問題