2011-10-05 109 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

相关问题