2011-10-05 139 views
1

我在本地有一個VS 2010項目,我有一個ASMX服務在本地運行。我創建了另一個需要使用本地ASMX服務的VS 2010項目。由於某些原因,每當我觸發該服務時,它會給我500個內部服務錯誤。兩個應用程序都在不同的端口上運行從jQuery客戶端調用ASMX服務端代碼

$.ajax(

    { 
     type: "POST", 
     url: "http://localhost:22059/Mobile/HOCWebService.asmx/GetCategories", 
     data: "{}", 
     dataType: "json", 
     contentType:"application/json", 
     success: function (response) { 

      alert(response); 

     } 
    } 

    ); 
+0

什麼是引發的異常?另外,你看過堆棧跟蹤嗎? –

+0

沒有例外。在FireBug中,我將url看作選項GetCategories。那是什麼意思?沒有迴應,這也是奇怪的。 – azamsharp

回答

2

兩個應用程序在不同的端口上運行。

這就是問題所在。您正在違反same origin policy restriction。您不能將AJAX請求發送到與包含腳本的頁面不在同一起源的服務(不同端口=>不同域)。

0

請確認您添加代碼以下線上方WebService類

[System.Web.Script.Services.ScriptService] 

後加入的代碼看起來像下面

[System.Web.Script.Services.ScriptService] 
public class WSDataService : System.Web.Services.WebService 

CODE這上面一行將允許AJAX客戶爲例CALL消費網站服務。

然後您的客戶將開始COSUMING

+0

請花些時間閱讀常見問題解答中SO的格式化工具,並請遵守不要將所有內容放在CAPS中的政策...... – razlebe