asp.net
  • jquery
  • 2010-04-06 39 views 5 likes 
    5

    這裏有趣的一個。我有一個ASP.NET 1.1項目,其中包含一個Web服務。我使用jQuery的AJAX功能從客戶端調用一些服務。這是我的代碼如下所示:jQuery AJAX和ASP.NET web服務在本地工作但不是遠程

    $.ajax({ 
        type: "POST", 
        url: 'foo.asmx/functionName', 
        data: 'foo1=' + foo1 + '&foo2=' + foo2, 
        dataType: "xml", 
        success: function(xml) { 
         //do something with my xml data 
        }, 
        error: function(request, error){ 
         //handle my error 
    
        }  
    
    }); 
    

    ,當我從我的本地主機上運行IDE網站這個偉大的工程。但是,當我將這個站點部署到任何其他服務器時,我從jQuery中得到一個parsererror錯誤。它似乎甚至沒有調用我的服務,因爲我放入了一些代碼來將日誌文件寫入磁盤,但並沒有將它寫入磁盤。

    應該從我的本地主機和我部署到的服務器返回相同的確切XML。

    任何想法?

    +0

    你可以檢查你是否有javascript錯誤? – Aristos 2010-04-06 15:36:33

    +0

    身份驗證如何?您是否更改該Web服務文件夾的身份驗證? – Raja 2010-04-06 15:52:34

    +0

    AJAX調用與您所在的網站使用相同的域,對吧? – 2010-04-06 16:54:11

    回答

    8

    我發現這個問題的答案。在使用Firebug進行一些調試後,我注意到服務器正在拋出一些錯誤的HTML。我查看了我的服務器端錯誤日誌記錄,異常是「請求格式無法識別」。

    有點挖後,我周圍發現了以下更改web.config中進行糾錯:

    <system.web>     
    <webServices> 
        <protocols> 
         <add name="HttpGet"/> 
         <add name="HttpPost"/> 
        </protocols> 
    </webServices> 
    </system.web> 
    

    現在我有點興趣的是,我的本地沒有該網站。配置條目,無論如何工作。如果有人明白這一點,我想知道爲什麼。

    感謝您的所有建議。

    +0

    可能性:Visual Studio IDE調試器使用本機machine.config文件,該文件可以像web.config在找不到某些設置時可以採用的一組默認設置一樣工作。因此,machine.config的本地和託管版本可能有所不同。另外,這可能取決於在本地和服務器上使用哪個版本的IIS。在IIS6及更低版本中,可以在IIS中設置無法在web.config中設置的設置。不過,我認爲web.config可以完全控制任何IIS7設置。所以,如果依賴web.config,任何低於IIS7的東西都是不可預知的 – BumbleB2na 2011-09-27 20:03:52

    0

    您確定foo.asmx能讓您到達正確的位置嗎?您是否更改過文件夾結構?

    +0

    這是正確的道路。部署時沒有變化。我甚至努力編碼路徑,看看這是否是原因,但不是骰子。同樣的錯誤。 – Alex 2010-04-06 15:32:00

    1

    jquery中的「parsererror」是什麼意思?

    我的第一個兩道是:

    1使用Firebug獲得更多的錯誤的詳細信息 http://encosia.com/2009/03/04/use-jquery-to-catch-and-display-aspnet-ajax-service-errors/

    2 - 你的數據字符串轉換爲一個JSON對象「{‘foo1’:‘BAR1’ 「foo2」:「bar2」}'

    0

    您是否檢查過部署應用程序時返回的XML以確保它是相同的?

    對於那些誰不知道什麼時候你會得到一個jQuery解析錯誤,它看起來像它涉及到返回XML的Web服務:http://groups.google.com/group/jquery-en/browse_thread/thread/a97f10ae30824fba?pli=1

    相關問題