2014-12-08 3 views
0

AJAX 및 jQuery를 사용하여이 예제를 C# Web 메서드라고 부를 수있는 방법을 누군가가 가르쳐 주시겠습니까?jQuery AJAX로 void C# 웹 메서드를 호출하는 방법은 무엇입니까?

public class Default { 
     [WebMethod] 
     public static void Example() 
     { 
      //do something 
     } } 
+0

'WebMethod'는 더 이상 지원되지 않습니다. (http://johnwsaunders3.wordpress.com/2011/12/07/more-reasons-to-not-use-asmx-services-in-new-code/) Microsoft. REST 기반 서비스 [ASP.NET Web API] (http://www.asp.net/web-api)의 대체 기술을 살펴볼 수 있습니다. 그것은 더 깨끗한 모델을 가지고 있으며 Microsoft에 의해 지원됩니다. – mason

답변

2

나는 아래의 방법을 사용하여 문제 했어 :

자바 스크립트를

var dataParam='{"param":"1"}'; //or whatever data you may be sending or not sending 

$.ajax({ 
    type : "POST", 
    url : myHomeUrl + '/SendDataVoid', 
    contentType : "application/json; charset=utf-8", 
    data : dataParam, 
    datatype : "json", 
}).done(function (data) { 
    alert('success'); 
}).fail(function (jqXHR, textStatus, errorThrown) { 
    alert(jqXHR.getResponseHeader("error")); 
}); 

당신이 보낼 수있을 수 있습니다 C#을

[WebMethod] 
public static void SendDataVoid(string param) 
{ 
    try 
    { 
     //do stuff here 
    } 
    catch (Exception ex) 
    { 
     System.Web.Services.WebService wsError = new System.Web.Services.WebService(); 
     wsError.Context.Response.StatusCode = 500; 

     wsError.Context.Response.AppendHeader("error", ex.Message); 

    } 
} 

실제 오류 msg back i 제네릭 "내부 서버"오류가 발생했습니다.

+0

그래서 "데이터"가 반환되고 있습니까? – eaglei22

관련 문제