2013-04-26 47 views
0

我試圖通過jQuery調用WebService方法,但它不工作。通過jQuery調用WebService方法

下面的代碼是給...

jQuery的

$.ajax({ 
    type: "POST", 
    data: "{}", 
    dataType: "json", 
    url:'test.asmx/GetSurvey', 
    contentType:"application/json;charset=utf-8", 
    success: function(data) { 
     $("#Span1").html(data.d); 
    } 
}); 

test.asmx如下(WebService的)代碼:

[WebMethod] 
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json)] 
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public string GetSurvey() 
{ 
    return "Question: Who is Snoopy?"; 
} 

可能是什麼問題呢?

+0

用於檢查您的服務response.its幫助你 – 2013-04-26 06:57:38

+0

我怎麼能添加console.log(數據) – 2013-04-26 07:57:38

回答

1

這裏jQuery代碼:

$.ajax({ 
type : "POST", 
data : "", 
dataType : "json", 
url : 'test.asmx/GetSurvey', 
contentType : "application/json;charset=utf-8", 
success : function(data) { 
    $("#Span1").html(data); 
} 
}); 

你已拷貝URL粘貼 代碼一些地方,並沒有刪除 'enter your code',所以這就是問題..

編輯:

url: '<%=ResolveUrl("~/test.asmx/GetSurvey") %>', 

嘗試通過路徑這樣的方式

+0

不...我刪除了在我的代碼....但仍然不工作... – 2013-04-26 06:33:17

+0

@ user2322540你在錯誤控制檯得到什麼錯誤? – 2013-04-26 06:33:46

+0

請求URL:http://本地主機:6276/ExaminationSystem/test.asmx/GetSurvey 請求方法:POST 狀態代碼:500內部服務器錯誤 – 2013-04-26 06:36:45

-1

1)"Question: Who is Snoopy?"不是JSON。

2)data.d引用沒有。

3)enter code here是jibberish,刪除它。

4)如果您沒有要發送的數據,那麼您可以在您的AJAX選項中忽略data"{}"無論如何都是錯誤的定義參數的方法。

閱讀this可以很好地瞭解如何發送/返回JSON並正確使用它。

+0

1)我的代碼返回字符串..所以json是正確的...我也使用它早些時候... 2)數據.d將返回'問題:誰是史努比?' 3)'輸入代碼在這裏'是爲了讓用戶瞭解它的不受我的...當我發佈這個問題時,它自動寫入 – 2013-04-26 06:45:47

1
在你的Ajax調用

$.ajax({ 
type: "POST", 
data: "{}", 
dataType: "json", 
url:'test.asmx/GetSurvey', 
contentType:"application/json;charset=utf-8", 
success: function(data) { 
console.log(data); 
    $("#Span1").html(data.d); 
} 
}); 

你可以看到這篇日誌在控制檯選項卡鉻devtools。 此外,您可以監控您的請求/響應爲Chrome瀏覽器網絡選項卡devtools

檢查它的詳細信息,關於Chrome devtools從成功函數的console.log(數據)Chrome Dev Tools: Networking and the Console

+0

但成功不適用於我的情況..... – 2013-04-26 08:54:58

+0

@ user2322540您的ajax請求可以電話獲得調查? – 2013-04-26 10:29:43

+0

沒有....你可以通過在你的頁面上覆制它來測試它..... – 2013-04-26 11:26:38