|
|
Copyright © 2003-2009 By Suthep Sangvirotjanaphat |
|
|
|
Mobile: 089-967-2200, 081-915-7816 Phone: 0-2992-4877 Fax: 0-2992-4878 Fast Contact Us |
GreatFriends.Biz Community |
Custom Search
|
การใช้ jQuery + AJAX + WebService อย่างง่าย
ไฟล์ที่จำเป็น
- jQuery เวอร์ชัน 1.3.2
จากนั้นเราจะมาทำการติดตั้ง jQuery กัน
วิธีการติดตั้ง jQuery
เป้าหมาย : รับข้อมูลจาก หน้าเว็บ 2 ค่าแล้วส่งค่าให้ Web service คำนวณ โดยใช้วิธีการส่งค่าแบบ
ในหน้า Default.aspx แล้วใส่คอนโทล ตามนี้
- Label ชื่อ lblResult 1 ตัว เพื่อแสดงผล
- TextBox มา 2 ตัว ชื่อ txtX กับ txtY เพื่อรับค่า
- จากนั้นก็เอาปุ่มมาวางไว้ 4 ปุ่ม เป็น Input(Button) ชื่อ btnAdd, btnDiff, btnMul, btnDiv
หน้าตาก็จะประมาณนี้นะครับ
ในหน้า Default.aspx
เราจะมาทำการผูก Event ให้แต่ละปุ่มกันนะครับ
- เริ่มจากการ Link ไฟล์ jQuery.1.3.2.min.js เพื่อที่จะได้ใช้คำสั่งของ jQuery ได้
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
- เขียน script ตามนี้เพื่อผูก Event
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$("#btnAdd").click(function() {
var pagePath = window.location.pathname;
$.ajax({
type: "POST",
url: pagePath + "/test",
data: '{x:' + $('#<%= this.txtX.ClientID %>').val() + ',y:' + $('#<%= this.txtY.ClientID %>').val() + ',mode:1}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$('#<%= this.lblResult.ClientID%>').html(msg.d);
},
error: function(msg){alert("error : " + msg);}
});
});
$("#btnDiff").click(function() {
var pagePath = window.location.pathname;
$.ajax({
type: "POST",
url: pagePath + "/test",
data: '{x:' + $('#<%= this.txtX.ClientID %>').val() + ',y:' + $('#<%= this.txtY.ClientID %>').val() + ',mode:2}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$('#<%= this.lblResult.ClientID%>').html(msg.d);
},
error: function(msg){alert("error : " + msg);}
});
});
$("#btnMul").click(function() {
var pagePath = window.location.pathname;
$.ajax({
type: "POST",
url: pagePath + "/test",
data: '{x:' + $('#<%= this.txtX.ClientID %>').val() + ',y:' + $('#<%= this.txtY.ClientID %>').val() + ',mode:3}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$('#<%= this.lblResult.ClientID%>').html(msg.d);
},
error: function(msg){alert("error : " + msg);}
});
});
$("#btnDiv").click(function() {
var pagePath = window.location.pathname;
$.ajax({
type: "POST",
url: pagePath + "/test",
data: '{x:' + $('#<%= this.txtX.ClientID %>').val() + ',y:' + $('#<%= this.txtY.ClientID %>').val() + ',mode:4}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$('#<%= this.lblResult.ClientID%>').html(msg.d);
},
error: function(msg){alert("error : " + msg);}
});
});
});
</script>
ในหน้า Default.aspx.cs
จากนั้นเราก็ทำการสร้าง WebService ที่ Code behid ของหน้านี้ โดยจะต้อง
using System.Web.Services;
ตัวนี้เข้ามาด้วย
ส่วน code ของ Web Service จะเป็นดังนี้ โดยจะแบ่ง mode ที่รับเข้ามาดังนี้
- mode 1 คือ การบวก
- mode 2 คือ การลบ
- mode 3 คือ การคูณ
- mode 4 คือ การหาร
public partial class _Default : System.Web.UI.Page
{
[WebMethod]
public static int test(int x ,int y ,int mode)
{
int Result;
if (string.IsNullOrEmpty(x.ToString()))
{
x = 0;
}
if (string.IsNullOrEmpty(y.ToString()))
{
y = 0;
}
if ((mode == 4) && (y == 0))
{
y = 1;
}
switch (mode)
{
case 1: Result = (x + y); break;
case 2: Result = (x - y); break;
case 3: Result = (x * y); break;
case 4: Result = (x / y); break;
default: Result = 0; break;
}
return Result;
}
}
เสร็จแล้วเราก็มาเทสกันเลย ผลก็จะได้ตามนี้ครับ
- บวก
- ลบ
- คูณ
- หาร
เสร็จแล้วครับ ไม่ยากใช่ไหมครับ ลองเอาไปประยุกใช้กันดูครับ
ใครสงสัย code ตรงไหนถามได้นะครับ พอดีเพิ่งลองทำเป็นครั้งแรกเนื้องจากว่าง
แต่ไม่ได้อธิบาย code ให้ละเอียดเท่าไหร เพราะไม่รู้ว่าควรจะอธิบายตรงไหนบ้าง
เอาเป็นว่าใครสงสัย code ตรงไหนถามมาแล้วกันนะครับ
อีกอย่าง ติ-ชม ให้ความเห็นกันไดนะครับ จะได้เอาไปปรับปรุงครับผม ^____^
|
|
Chariot |
วันที่ส่ง: 29 ธ.ค. 52 10:53 GMT+7 วันที่ปรับล่าสุด: 24 ม.ค. 53 12:04 GMT+7 |
|
|
rookie |
วันที่ส่ง: 29 ธ.ค. 52 13:40 GMT+7 วันที่ปรับล่าสุด: 29 ธ.ค. 52 13:40 GMT+7 |
|
|
dinobenz |
วันที่ส่ง: 30 ธ.ค. 52 20:40 GMT+7 วันที่ปรับล่าสุด: 30 ธ.ค. 52 20:40 GMT+7 |
|
|
surrealist |
วันที่ส่ง: 1 ม.ค. 53 15:25 GMT+7 วันที่ปรับล่าสุด: 1 ม.ค. 53 15:25 GMT+7 |
ขอบคุณอาจารย์ที่แนะนำครับ จริง ๆ ผมเองก็เพิ่งเริ่ม ศึกษาครับเจ้า jQuery นี่ ได้สักพักเองครับ ตอนแรกก็เฉย ๆ แต่พอได้ลองแล้วมันสนุกมากครับเจ้าตัวนี้ ทำให้การเขียน javaScript ง่ายขึ้นมาก
|
|
Chariot |
วันที่ส่ง: 1 ม.ค. 53 21:12 GMT+7 วันที่ปรับล่าสุด: 1 ม.ค. 53 21:12 GMT+7 |
|
|
Chariot |
วันที่ส่ง: 1 ม.ค. 53 22:53 GMT+7 วันที่ปรับล่าสุด: 1 ม.ค. 53 22:53 GMT+7 |
|
|
surrealist |
วันที่ส่ง: 2 ม.ค. 53 19:18 GMT+7 วันที่ปรับล่าสุด: 2 ม.ค. 53 19:18 GMT+7 |
|
|
mr.l |
วันที่ส่ง: 4 ม.ค. 53 16:36 GMT+7 วันที่ปรับล่าสุด: 4 ม.ค. 53 16:36 GMT+7 |
ขอบคุณอาจรย์ที่มาช่วยเสริมครับ ผมจะได้เก็บเอาไปลองอีกวิธี และขอบคุณผู้อ่านทุกท่านที่ให้ความสนใจครับ
|
|
Chariot |
วันที่ส่ง: 4 ม.ค. 53 21:43 GMT+7 วันที่ปรับล่าสุด: 4 ม.ค. 53 21:43 GMT+7 |
|
|
ed |
วันที่ส่ง: 22 ม.ค. 53 15:40 GMT+7 วันที่ปรับล่าสุด: 22 ม.ค. 53 15:40 GMT+7 |
รบกวนถามครับ ถ้าต้องการแบบว่าเปลี่ยนservice หรือ method เฉพาะบางเงื่อนไขจะได้มั้ยครับ คือผมลองเปลี่ยนแล้วมันไม่เข้า serviceอะครับ
|
|
basketman |
วันที่ส่ง: 24 ม.ค. 53 12:04 GMT+7 วันที่ปรับล่าสุด: 24 ม.ค. 53 12:04 GMT+7 |
|
เรียน .NET/OOAD กับ อ.สุเทพ (surrealist) Microsoft Most Valuable Professional (MVP): |
![]() ลงทะเบียนเรียน |