jQuery를 함께 작업하는 ASP.NET SOAP 웹 서비스 (ASMX)을 얻으려면, 먼저 추가 가지고 ScriptServiceAttribute
(System.Web.Script.Services
에 있음) 서비스 자체에 :
[ScriptService] // <--- here
public class MyWebService : WebService
{
[WebMethod]
public int Sum(int x, int y)
{
return x + y;
}
}
프로젝트가 아닌 경우 하는 ASP.NET AJAX 프로젝트로 만들어, 다음으로 web.config
을 수정해야 할 수 있습니다 :
<configuration>
<system.web>
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpHandlers>
</system.web>
</configuration>
(주 - 해당 버전으로 System.Web.Extensions
어셈블리 참조를 업데이트 -이 ASP.NET AJAX 1.0에 대한 인 곱슬 곱슬하지 않다. nt. 나는 그렇지 않으면 나는 그것을 게시 할 것, 2.0에 대한 정보가없는)
는 jQuery 코드는 다음처럼 작성할 수 있습니다. 이것은 XML에 의존하는 클라이언트를 깰 것
가
$.ajax({
type: "POST",
url: "/MyWebService.asmx/Sum",
data: "{x: 2, y: 5}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$("#Result").html(msg);
}
});
주 서비스 -이 대답을 위해서 웹 서비스의 유일한 소비자는 jQuery 또는 적어도 JavaScript를 사용하는 웹 사이트라고 가정합니다. 두 시나리오를 모두 지원해야한다면 두 개의 웹 서비스를 만들어야합니다. @Aaronaught에 의해 게시
SOAP 서비스 일 가능성이 거의 없다는 것을 잘 알고 있습니까? 어떤 종류의 오류가 발생합니까? –
네, SOAP 서비스입니다. 오류는 "잘못된 형식의 쿼리 문자열"과 같습니다. – ozsenegal