บางครั้งที่เราต้องการให้ Html Control เรียก method ที่ฝั่ง server เราอาจจะเลือกที่จะใช้ json เข้ามาช่วย(จริง ๆ มันเป็นแค่รูปแบบของข้อมูลที่ประกอบด้วย [, }, : เพื่อเปลี่ยนให้เป็นข้อมูลที่ computer สามารถอ่านได้) โดยพระเอกของเราก็คือ jQuery นั้นเอง ตัวผมเองก็พึ่งที่จะหัดที่จะใช้มัน (ไม่รู้ว่าช้าไปไหม) พนวกกับมี project ที่ต้องทำงานในลักษณะนี้พอดีเลยได้ลองเขียนออกมาได้อย่างที่เห็น
หลัก ๆ ที่จะมีคือ
Server-Side method จะต้องเป็น static และ มี attribute ของ method เป็น WebMethod
data ของ $.ajax คือชื่อของ parameter ของ method ฝั่ง Server-Side (ในที่นี้ผมตั้งว่า e)
test-ajax.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test-ajax.aspx.cs" Inherits="backend_test_ajax" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Ajax Method Invoker Test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script><script type="text/javascript" language="javascript">
function doSomethingFromJavaScript(param)
{$.ajax(
{type: "POST",
dataType: "json",
url: "test-ajax.aspx/AjaxMethod",
data: '{e: "' + param + '"}',
contentType: "application/json; charset=utf-8",
success: function (messageFromServer)
{alert(messageFromServer.toString());
}
});
}
</script>
</head>
<body><a href="#" onclick="doSomethingFromJavaScript('kob')">Test Ajax Method</a>
</body>
</html>
test-ajax.aspx.cs
using System;
using System.Web.Services;public partial class backend_test_ajax : System.Web.UI.Page
{[WebMethod]
public static string AjaxMethod(string e)
{return “Client parameter is : ” + e;
}
}
via p’ kob thanks p’ball
Buy:Zovirax.Valtrex.Retin-A.100% Pure Okinawan Coral Calcium.Prednisolone.Lumigan.Arimidex.Zyban.Accutane.Petcam (Metacam) Oral Suspension.Synthroid.Nexium.Prevacid.Actos.Human Growth Hormone.Mega Hoodia….
อีกซักตัวอย่าง
ฝั่ง server
จำเป็นต้องเป็น public static เพื่อให้ทางวาจาสคริปเรียกใช้ได้
ฝั่ง client
<!– update stat –>
วิธีเรียกใช้