2013-04-10 91 views
1

我有一個C#web應用程序,我在其中使用ajax調用Web服務。 Ajax代碼看起來像下面Ajax調用webservice

$.ajax({ 
        type: 'GET', 
        url: "WebServices/testwebService.asmx/Methodname", 
        contentType: "application/json; charset=utf-8", 
        data: { value: "string" }, 
        dataType: 'xml', 
        success: function (data) { 
         alert(data); 
        }, 
        error: function (data) { 
         alert("In error"); 
        } 

       }); 
      }); 

服務「的WebServices/testwebService.asmx/METHODNAME」返回字符串列表(或者可以是一個字符串)

這裏,如果im捐贈類型:「GET」和dataType:'json'它重定向到錯誤部分。

如果數據類型'json'或'string'的類型爲'POST',或dataType'xml'或'string'的類型爲'GET',它將被重定向到成功部分。和'xml'dataType類型:'POST'重定向到錯誤部分。

我非常困惑於ajax中的dataType概念。

當我檢查Firebug時,響應數據總是以xml格式。

+0

很可能你的web服務沒有返回JSON數據,因此你得到了一個分析錯誤。 – yogi 2013-04-10 07:51:51

+0

我們是否需要以ajax預期的任何格式解析webservice中的數據?或者webservice自動執行任何類型的數據解析? – Sudha 2013-04-10 09:09:13

回答

1

如果您使用json dataType,服務器應該返回一個json。如果您對數據類型有任何疑問,請通過this鏈接。

1

ASMX SOAP網絡服務調用使用HTTP-POST Protocol.So理想的「類型」中的AJAX調用 參數的值應爲「POST」方法。(check the MSDN documentation

關於數據類型,則響應數據完全取決於您在ajax調用中提及的數據類型。根據數據類型參數JQuery處理來自服務器的響應,該響應始終是SOAP Web服務的XML。

如果您將數據類型參數值設置爲'xml',您將在成功回調函數中獲得一個XML文檔。如果將它設置爲JSON,您將在成功回調函數中獲取JSON對象。