Làm cho Remote Scripting hoạt động trên trang máy chủ
Ngoài việc cấu hình trang phía khách để gọi script từ xa, bạn cũng cần cấu hình trang phía máy chủ để tiếp nhận các lệnh gọi đó. Các bước bao gồm:
-
Bao gồm thư viện remote scripting phía máy chủ và khởi tạo nó.
-
Viết các hàm hoặc thủ tục có thể được gọi từ phía khách.
-
Đăng ký các hàm và thủ tục này như các phương thức có thể gọi được.
Theo mặc định, trang ASP được gọi từ script phía khách sẽ không hiển thị trong trình duyệt, mà sẽ chạy trên máy chủ và gửi kết quả về phía khách. Do đó, nói chung bạn không cần bao gồm bất kỳ mã HTML nào trong trang ASP — chỉ cần có mã script là đủ. Tuy nhiên, vẫn có thể hiển thị HTML trên một trang ASP nếu bạn đã khởi tạo thư viện Remote Scripting đúng cách và áp dụng kỹ thuật đăng ký phương thức được mô tả dưới đây.
Bao gồm và khởi tạo thư viện remote scripting phía máy chủ
Tạo câu lệnh INCLUDE để tham chiếu đến file RS.asp
từ phía máy chủ, ví dụ:
<!--#INCLUDE FILE="../_ScriptLibrary/RS.ASP"-->
Đảm bảo đường dẫn đến file RS.asp
là chính xác. Lệnh INCLUDE có thể đặt ở bất kỳ đâu trong tệp ASP của bạn.
Sau đó, thêm lệnh gọi tới phương thức RSDispatch
. Khi bạn gọi script từ phía khách, phương thức này sẽ định tuyến đúng thủ tục trên máy chủ:
<% RSDispatch %>
Lưu ý: Lệnh gọi RSDispatch
phải là đoạn script máy chủ đầu tiên được thực thi trong trang — thường được đặt ở đầu tệp.
Tạo hàm xử lý phía máy chủ
Bạn có thể viết các hàm hoặc thủ tục ở phía máy chủ bằng bất kỳ ngôn ngữ script nào như JavaScript hoặc VBScript. Các hàm này có thể nhận nhiều tham số nhưng chỉ được dùng kiểu dữ liệu đơn giản như chuỗi, số, hoặc ngày tháng — không hỗ trợ truyền object hoặc mảng.
Lưu ý: Khi bạn truyền tham số từ script phía khách đến phía máy chủ, chúng sẽ được chuyển thành chuỗi. Nếu cần kiểu dữ liệu khác, bạn phải tự chuyển đổi trong hàm máy chủ.
Đăng ký phương thức để phía khách có thể gọi
Tạo đối tượng public_description
, trong đó chỉ định các phương thức mà bạn muốn phía khách gọi được. Ví dụ:
<SCRIPT LANGUAGE="javascript">
var public_description = new MyServerMethods();
function MyServerMethods() {
this.square = squareNumber;
this.add = Function('n1','n2','return addNumbers(n1,n2)');
}
</SCRIPT>
methodName: tên phương thức mà phía khách sẽ gọi.
functionName: tên hàm thực tế trong trang ASP thực hiện logic đó.
Nếu phương thức được viết bằng VBScript, bạn phải chỉ rõ danh sách tham số như 'p1','p2'
.
Ví dụ hoàn chỉnh
Dưới đây là một ví dụ về trang ASP hoàn chỉnh, trong đó hai phương thức square
và add
được hiển thị để gọi từ phía khách:
<% RSDispatch %>
<!--#INCLUDE FILE="../_ScriptLibrary/RS.ASP"-->
<SCRIPT RUNAT=SERVER LANGUAGE="javascript">
var public_description = new MyServerMethods();
function MyServerMethods()
{
this.square = squareNumber;
this.add = Function('n1','n2','return addNumbers(n1,n2)');
}
function squareNumber(numberToSquare){
return numberToSquare * numberToSquare;
}
</SCRIPT>
<SCRIPT RUNAT=SERVER LANGUAGE="VBScript">
Function addNumbers(num1, num2)
' Chuyển đổi kiểu dữ liệu từ chuỗi sang số
addNumbers = CInt(num1) + CInt(num2)
End Function
</SCRIPT>
Tài nguyên này được người dùng tải lên và nội dung được lấy từ Internet. Trang web này chỉ giới thiệu miễn phí để học tập và chia sẻ. Nếu có bất kỳ vấn đề bản quyền hoặc vấn đề nào khác, vui lòng liên hệ với biên tập viên của trang web này để xử lý!
Lưu ý quan trọng: : Nếu phần mềm liên quan đến thanh toán, thành viên, nạp tiền, v.v., thì đây là những hành động của nhà phát triển phần mềm hoặc công ty sở hữu phần mềm đó và không liên quan gì đến trang web này. Cư dân mạng cần phải tự đưa ra phán đoán của mình.