我在本地有一个VS 2010项目,我在本地运行ASMX服务。我创建了另一个VS 2010项目,该项目必须使用本地ASMX服务。出于某种原因,每当我触发服务时,它都会给我500个内部服务错误。两个应用程序都在不同的端口上运行
$.ajax(
{
type: "POST",
url: "http://localhost:22059/Mobile/HOCWebService.asmx/GetCategories",
data: "{}",
dataType: "json",
contentType:"application/json",
success: function (response) {
alert(response);
}
}
);
答案 0 :(得分:2)
两个应用程序都在不同的端口上运行。
这就是问题所在。您违反了same origin policy restriction。您不能将AJAX请求发送到与包含脚本的页面不同的源(不同的ports =>不同的域)托管的服务。
答案 1 :(得分:0)
请确认您在WEBSERVICE CLASS上方添加了以下代码
[System.Web.Script.Services.ScriptService]
添加代码之后如下所示
[System.Web.Script.Services.ScriptService]
public class WSDataService : System.Web.Services.WebService
上述代码行将允许AJAX CLINET呼叫消费WEBSERVICE。
然后您的客户将开始消费