10/10/2018, 09:24

cần giúp về Javascript trong ASP (1)

Cho đệ hỏi về câu lệnh for...in trong Javascript, sao nó không chạy???
CODE JavaScript:

var cookieKey = null;
var cookieItem = null;
for (cookieKey in Resquest.Cookies)
{
if (Request.Cookies(cookieKey).HasKeys)
for (cookieItem in Request.Cookies(cookieKey))
Response.Write(Request.Cookies(cookieKey)(cookieIt em));
else
Response.Write(Request.Cookies(cookieKey));
}

Đoạn code trên không chạy, mặc dù đoạn Code viết bằng VBScript thì chạy :
Code VBScript:
Dim cookieKey;
Dim cookieItem;
for each (cookieKey) in Request.Cookies
if (Request.Cookies(cookieKey).HasKeys then
for each cookieItemin Request.Cookies(cookieKey)
Response.Write(Request.Cookies(cookieKey)(cookieIt em))
next
else
Response.Write(Request.Cookies(cookieKey))
end if
next

Vậy là sao????
Cách sửa đoạn code bằng javascript như thế nào cho nó chạy giống như đoạn code VBScript.
dinhbaochau viết 11:25 ngày 10/10/2018
Không chạy là đúng rồi. Vì Response.Write() là một đối tượng của VBScript tức nó là ngôn ngữ ASP 3.0 nên nó thật ra đâu có phải là JavaScript đâu mà khai báo nó là JS.

Muốn cho đoạn Code trên chạy bằng JS thì phải thay Respone.Write() bằng Document.Write ()
Còn Request cũng là một đối tượng của VBS nên thay lại của JS là nó "Chạy" thôi.

Bạn nên tham khảo thêm JS, trên các web site thư viện của JS rất nhiều tài liệu.
Chúc thành công.
john_vn viết 11:35 ngày 10/10/2018
Ủa?
Response.Write() là đối tượng của ASP mà.
Mình dùng JS để viết các lệnh thôi , nhưng dùng đối tượng của ASP để thao tác trên Server.
JS cũng dủng được như VBS chứ???
amida viết 11:30 ngày 10/10/2018
Cả Vbscript và Javascript đều dùng trong ASP, nhưng cấu trúc có mặt khác. Trong Vbscript thì dùng response.write() còn trong Javascript phải dùng Document.write()
Bác cứ thử đi, nếu không đc thì cứ reply
Lò A Phóng viết 11:29 ngày 10/10/2018
ơ, trong ASP làm gì có đối tượng document nhỉ ? Khi viết js trên client thì mới xài document.write đc chứ :-?

Theo em nhớ thì nó có mấy cái: Server, Application, Session, Request, Response.
amida viết 11:29 ngày 10/10/2018
Tất nhiên là có đối tượng document rồi
Theo em nhớ thì nó có mấy cái: Server, Application, Session, Request, Response.
VBscript. Ở Javascript cung cấp thêm document.write() để output
john_vn viết 11:36 ngày 10/10/2018
nhưng nếu dùng Document.write() thì chẳng khác nào một trang HTML bình thường được nhúng vào Javascript vậy. Chẳng thể hiện được tiêu chí ASP gì cả.
bỡi vì đệ Request một cookie thì lẽ dĩ nhiên Server phải Response lại nó chứ, chẳng có lý do gì dùng Document.Write() cả.
Đệ đã thử dùng câu lệnh Response.Write("User information :"); ngay trong trước câu lệnh For..in thì vẫn xuất ra được bình thường mà. Điều này chứng tỏ Response.Write() là một Method chung của ASP chỉ cần thao tác thôi.
Tuy nhiên, điều đệ cần bàn đây là trong đoạn Code trên, nó không thể vào vòng lặp For...in mà. Đã thử Response.Write() ở bên trong và dùng cả window.alert() để thử đều không hiển thị câu thông báo gì cả. Điều này cho thấy câu lệnh For...in có vấn đề. Quan trọng là đệ không biết lỗi do dâu trong For...in vì syntax của nó thì đúng rồi.
Mong các huynh nào biết chỉ giúp.

Được gửi bởi Lò A Phóng
ơ, trong ASP làm gì có đối tượng document nhỉ ? Khi viết js trên client thì mới xài document.write đc chứ :-?

Theo em nhớ thì nó có mấy cái: Server, Application, Session, Request, Response.
Đúng là làm gì có object document trong ASP. Đó chỉ là object của JS thôi.

Được gửi bởi amidan
Cả Vbscript và Javascript đều dùng trong ASP, nhưng cấu trúc có mặt khác. Trong Vbscript thì dùng response.write() còn trong Javascript phải dùng Document.write()
Bác cứ thử đi, nếu không đc thì cứ reply
Cái này đệ không đồng ý! Bởi vì VBScript và JS đều chỉ là các language để hỗ trợ thêm thôi, cũng giống như việc dùng VB.NET hay C# để hỗ trợ cho ASP.NET. Bản thân ASP đã có đủ đối tượng để làm các công việc trên Server rồi. Các ngôn ngữ kịch bản chỉ dùng để thao tác trên các đối tượng đó. Vì vậy chỉ khi chạy ASP, chỉ cần quan tâm đến syntax của các language thôi , chẳng hạn cách khai báo biến, vòng lặp, lệnh rẽ nhánh.. là đủ. Đâu cần biết đến các đối tượng của Script. Nếu sử dụng các đối tượng của Script thì cái đó không gọi là sử lý trên server nữa mà phải gọi là trên client thôi.
john_vn viết 11:40 ngày 10/10/2018
Trùi, hổng ai biết cách thiệt hả????hic hic...fail Project code là cái chắc rùi.
phamhinh viết 11:38 ngày 10/10/2018
sặc. Nản với các bác. Theo tớ biết thì javascript viết trên server khác với javascript trên brower bạn ạ. Trong javascript trên server để xử lý dữ liệu việc khai báo hoàn toàn khác so với javascript bình thường
Bài liên quan
0