ตัวอย่างเช่นรหัสต่อไปนี้:
รหัสโปรแกรม:
การคัดลอกรหัสมีดังนี้:
<%@language = "JScript" codePage = "65001"%>
<scriptLanguage = "jscript" runat = "เซิร์ฟเวอร์">
Response.cookies ("Xujiwei") ("ชื่อ") = "Xujiwei";
Response.cookies ("Xujiwei") ("เพศ") = "ชาย";
varexpiredDate = newDate (2008,11,31);
Response.cookies ("Xujiwei"). Expires = ExpiredDate;
</script>
หลังจากเปิดในเบราว์เซอร์ข้อผิดพลาดต่อไปนี้เกิดขึ้น:
อ้าง:
ข้อผิดพลาดข้อผิดพลาดในการรันไทม์ของ Microsoft JScript '' 800A000D ''
พิมพ์ไม่ตรงกัน
/temp/test.asp, บรรทัดที่ 6
ซึ่งหมายความว่าเราใช้ข้อมูลประเภทวันที่ใน VBScript ไม่ทำงานใน JScript อีกต่อไป แต่เราจำเป็นต้องใช้ข้อมูลประเภทวันที่บนเซิร์ฟเวอร์ หากฐานข้อมูลดำเนินการโดยใช้คำสั่งพารามิเตอร์จะมีสถานที่เพิ่มเติมในการใช้ข้อมูลประเภทวันที่ คุณไม่สามารถใส่ไว้ในคำสั่ง SQL เพียงเพราะคุณไม่สามารถใช้วิธีการปกติเพื่อเพิ่มพารามิเตอร์วันที่
โชคดีที่นักออกแบบของ JScript มีสิ่งนี้อยู่ในใจ เมื่อใช้ JScript บนเซิร์ฟเวอร์มักจะเป็นภาษาสคริปต์อื่นสำหรับ ASP และ JScript เป็นสิ่งที่ Microsoft พัฒนาโดย Microsoft บน JavaScript นี่คือสิ่งที่ควรพิจารณา
ใน JScript กุญแจสำคัญในการแก้ปัญหานี้คือวัตถุประเภทวันที่มีฟังก์ชั่น getVardate ซึ่งอ้างอิงในภาษา JScript ดังนี้:
อ้าง:
ใช้วิธี getVardate เมื่อโต้ตอบกับวัตถุ COM วัตถุActiveX®หรือวัตถุอื่น ๆ ที่ยอมรับและส่งคืนค่าวันที่ในรูปแบบ VT_DATE เช่น Visual Basic และ VBScript รูปแบบจริงขึ้นอยู่กับการตั้งค่าภูมิภาคและไม่เปลี่ยนแปลงด้วย JScript
ตกลงวิธีแก้ปัญหาได้เกิดขึ้นจนถึงตอนนี้ซึ่งก็คือการใช้ฟังก์ชัน getVardate () เพื่อแปลงวัตถุประเภทวันที่เป็นวัตถุประเภทวันที่ที่สามารถโต้ตอบกับการตอบสนองของวัตถุในตัวใน ASP จากนั้นแก้ไขรหัสเริ่มต้นดังนี้:
รหัสโปรแกรม:
การคัดลอกรหัสมีดังนี้:
<%@language = "JScript" codePage = "65001"%>
<scriptLanguage = "jscript" runat = "เซิร์ฟเวอร์">
Response.cookies ("Xujiwei") ("ชื่อ") = "Xujiwei";
Response.cookies ("Xujiwei") ("เพศ") = "ชาย";
varexpiredDate = newDate (2008,11,31);
Response.cookies ("Xujiwei"). Expires = ExpiredDate.getVardate ();
</script>
เมื่อเบราว์เซอร์เปิดหน้าการทดสอบนี้จะไม่มีข้อความแสดงข้อผิดพลาดแสดงว่าคุกกี้ของลูกค้าได้รับการเขียนเรียบร้อยแล้วและวันหมดอายุคือวันที่ 31 ธันวาคม 2551
หวังว่าบทความนี้จะเป็นประโยชน์กับคุณ