[JQUERY] ASP.NET 웹폼에서 jQuery를 가진 '의 WebMethod'를 호출
JQUERYASP.NET 웹폼에서 jQuery를 가진 '의 WebMethod'를 호출
해결법
-
1.당신이 당신의 ScriptManager 요소에 사용할 페이지 방법이 있는지 확인 :
당신이 당신의 ScriptManager 요소에 사용할 페이지 방법이 있는지 확인 :
<asp:ScriptManager ID="scm" runat="server" EnablePageMethods="true" />
당신이 끝까지 시간이 결코 수의 온 클릭 핸들러 내부에 다른 페이지가 수행하는 전체 다시 게시하여 AJAX 호출을 거짓을 반환하여 버튼의 기본 동작을 취소했다고. 여기에 전체 작업의 예는 다음과 같습니다
<%@ Page Language="C#" %> <script type="text/c#" runat="server"> [System.Web.Services.WebMethod] public static string search() { return "worked"; } </script> <!DOCTYPE html> <html> <head id="Head1" runat="server"> <title></title> </head> <body> <form id="Form1" runat="server"> <asp:ScriptManager ID="scm" runat="server" EnablePageMethods="true" /> <button id="btnSearch" onclick="search(); return false;" >Search</button> </form> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script type="text/javascript"> function search() { $.ajax({ type: 'POST', url: '<%= ResolveUrl("~/default.aspx/search") %>', data: '{ }', contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (msg) { alert(msg.d) } }); } </script> </body> </html>
또 다른 가능성은 겸손 클릭 처리기를 구독 할 수 있습니다 :
<button id="btnSearch">Search</button>
다음 별도의 자바 스크립트 파일 내부 :
$('#btnSearch').click(function() { $.ajax({ type: 'POST', url: '<%= ResolveUrl("~/default.aspx/search") %>', data: '{ }', contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (msg) { alert(msg.d) } }); return false; });
당신은 또한 ASP.NET이 아니라 제대로에 때 ResolveUrl 방법의 사용으로 페이지 메서드에 URL을 생성하는 대신에 그것을 하드 코딩으로로 전체 응답을 포장하는 데 사용하는 성공 콜백 내부의 msg.d 속성의 사용법을 알 수 있습니다.
-
2.더 최적화 된 호출이 될 것입니다
더 최적화 된 호출이 될 것입니다
function search() { $.ajax({ type: "POST", url: '<%= ResolveUrl("~/ProcessAudit/req_brws.aspx/search") %>', data: "{}", contentType: "application/json", success: function (msg) { msg = msg.hasOwnProperty("d") ? msg.d : msg; alert(msg); } }); }
필요는 ASP를 제공 없습니다 : 스크립트 관리자를 전혀.
자원 : http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/
-
3.현재 버튼은 전체 포스트 백을 일으키는 것입니다. 간단하게이 문제를 피하기 위해 버튼 유형 = "버튼"을 추가합니다.
현재 버튼은 전체 포스트 백을 일으키는 것입니다. 간단하게이 문제를 피하기 위해 버튼 유형 = "버튼"을 추가합니다.
<button id = "btnSearch" type="button" onclick = "search()" >Search</button>
I -Shazzam
-
4.어떻게 JQuery와 AJAX를 사용하여 ASP.Net 웹 메소드를 구현하는 방법?
어떻게 JQuery와 AJAX를 사용하여 ASP.Net 웹 메소드를 구현하는 방법?
HTML 페이지 :
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="js/jquery.min.js"></script> <script> function SubmitData() { var name = 'Ram'; var gender = 'Male'; var age = '30'; $.ajax({ type: "POST", url: "ajaxcall.aspx/SaveData", data: '{"name":"' + name + '", "gender":"' + gender + '", "age":"' + age + '"}', contentType: "application/json; charset=utf-8", dataType: "json", beforeSend: function () { $('#loader').show(); }, success: function (data) { alert(data.d); $('#loader').hide(); }, error: function (msg) { //alert('3'); msg = "There is an error"; alert(msg); $('#loader').hide(); } }); } </script> </head> <body> <div id="loader" style="display: none;"> <img src="ajax-loader.gif" /> </div> <a href="#" onclick="SubmitData();">Submit</a> </body> </html>
코드 숨김
[WebMethod] public static string SaveData(string name, string gender, string age) { try { return "OK"; } catch (Exception ex) { return ex.Message; } finally { } }
자원: http://www.sharepointcafe.net/2016/10/how-to-call-aspnet-web-method-using-jquery-ajax.html
from https://stackoverflow.com/questions/6928533/calling-a-webmethod-with-jquery-in-asp-net-webforms by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 새 열을 추가있는 jqGrid (0) | 2020.10.22 |
---|---|
[JQUERY] jQuery를에 깊은 아이를 선택 (0) | 2020.10.22 |
[JQUERY] jQuery를하십시오 <입력 유형 = "파일"/> Firefox에서하지 않은 일에 클릭을 시뮬레이션? [복제] (0) | 2020.10.22 |
[JQUERY] 파이어 폭스, 크롬과 사파리뿐만 미세 -의 jQuery .load () IE에서 작동하지 (0) | 2020.10.21 |
[JQUERY] jQuery를 serializeArray는 클릭 된 버튼을 제출 포함되지 않습니다 (0) | 2020.10.21 |