2011-10-26 36 views
1

我有一個簡單的jquery調用,它試圖從ASMX服務返回一些XML。此調用在本地工作,但在調用.ajax()調用來部署服務和頁面之後,我只是在Web服務調用上「旋轉」。帶有jQuery的ASMX在本地工作,但在部署到IIS 6.0時不工作

我確保ASPNET用戶帳戶具有訪問ASMX所在文件夾的適當權限。另外,我還添加了以下行到Web.config部署到服務器之前:

<webServices> 
    <protocols> 
     <add name="HttpGet"/> 
     <add name="HttpPost"/> 
    </protocols> 
</webServices> 

當我提起這事在Firebug檢查呼叫我看到標題,但帖子及回覆是什麼,它只是「旋轉」。我從來沒有得到一個錯誤,我只是不斷旋轉。

html頁面和web服務在同一個域上(甚至在同一個文件夾中)。

謝謝。

更新:我現在閱讀了有關在.aspx頁面(即default.aspx)(link)上將靜態方法添加[webmethod]的Encosia文章。我現在可以在沒有問題的情況下在本地調用這些方法,但是當我部署到IIS 6.0時,我沒有得到任何響應。這已經將.asmx的呼籲從等式中解放出來,而我留下了更基本的東西。我缺少什麼配置部分來允許任何$ .ajax()操作到本地頁面工作?

回答

1

您的版本有所不同我:

<system.web> 
    <httpHandlers> 
     <remove verb="*" path="*.asmx"/> 
     <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
    </httpHandlers> 
</system.web> 

你也可以做一個比較本地文件和部署服務器的,因爲有需要的web.config中的其他部分。

編輯:只是檢查,但是你換你另外,讓JSON(假設你使用):

<system.web.extensions> 
    <scripting> 
     <scriptResourceHandler enableCaching="true" enableCompression="true" /> 
     <webServices> 
      <jsonSerialization maxJsonLength="5000000"/> 
     </webServices> 
    </scripting> 
</system.web.extensions> 

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

這爲我工作,謝謝! –

相關問題