บทความนี้ส่วนใหญ่แนะนำข้อมูลที่เกี่ยวข้องเกี่ยวกับการตอบสนองของวัตถุในตัว ASP
ต่อไปเราเริ่มเรียนรู้วัตถุในตัวของ ASP การตอบสนองอีกครั้ง
ในทางตรงกันข้ามกับการร้องขอที่ได้รับข้อมูล HTTP ไคลเอนต์วัตถุตอบกลับใช้เพื่อควบคุมข้อมูลที่ส่งไปยังผู้ใช้รวมถึงการส่งข้อมูลโดยตรงไปยังเบราว์เซอร์เปลี่ยนเส้นทางเบราว์เซอร์ไปยัง URL อื่นหรือตั้งค่าคุกกี้
ไวยากรณ์: response.collection | คุณสมบัติ | วิธีการ
1. คุณลักษณะ
1. บัฟเฟอร์
คุณสมบัติบัฟเฟอร์ระบุว่าจะเอาต์พุตหน้าบัฟเฟอร์หรือไม่ เมื่อเอาต์พุตหน้าบัฟเฟอร์เป็นเอาต์พุตเซิร์ฟเวอร์จะส่งการตอบกลับไปยังเบราว์เซอร์ไคลเอ็นต์หลังจากสคริปต์เซิร์ฟเวอร์ทั้งหมดในหน้าปัจจุบันได้รับการประมวลผลหรือวิธีการล้างหรือวิธีการสิ้นสุด บัฟเฟอร์ไม่สามารถตั้งค่าได้อีกต่อไปหลังจากเซิร์ฟเวอร์ส่งเอาต์พุตไปยังเบราว์เซอร์ไคลเอนต์ ดังนั้นการตอบสนองบัฟเฟอร์ควรถูกเรียกในบรรทัดแรกของไฟล์. asp
2. Charset
คุณสมบัติ Charset จะผนวกชื่อตัวอักษรที่ตั้งค่าไว้กับผลหลังของชื่อประเภทเนื้อหาในวัตถุตอบสนอง สำหรับหน้า ASP ที่ไม่มีคุณสมบัติ Response.charset ชื่อประเภทเนื้อหาจะเป็น: เนื้อหาประเภท: ข้อความ/html
เราสามารถระบุชื่อประเภทเนื้อหาในไฟล์. asp เช่น:
< % response.charset = gb2312) %>
ผลลัพธ์ต่อไปนี้จะเกิดขึ้น:
ประเภทเนื้อหา: ข้อความ/html;
โปรดทราบว่าฟังก์ชั่นนี้แทรกชุดอักขระที่แสดงโดยสตริงลงในส่วนหัวของเนื้อหาไม่ว่าจะถูกต้องหรือไม่ก็ตาม และหากหน้ามีหลายแท็กที่มี response.charset แต่ละ response.charset จะแทนที่ charsetName ก่อนหน้า ด้วยวิธีนี้ชุดอักขระจะถูกตั้งค่าเป็นค่าที่ระบุโดยอินสแตนซ์สุดท้ายของ Response.charset ในหน้า
3. ContentType
คุณสมบัติ ContentType ระบุประเภทเนื้อหา HTTP ของการตอบสนองเซิร์ฟเวอร์ หากไม่ได้ระบุ contentType ค่าเริ่มต้นคือข้อความ/HTML
4. หมดอายุ
คุณสมบัติหมดอายุระบุระยะเวลาที่หน้าบัฟเฟอร์บนเบราว์เซอร์หมดอายุ หากผู้ใช้กลับไปที่หน้าก่อนที่จะหมดอายุหน้าในบัฟเฟอร์จะปรากฏขึ้น หากการตอบสนอง expires = 0 ถูกตั้งค่าหน้าแคชสามารถหมดอายุได้ทันที นี่เป็นคุณสมบัติที่ใช้งานได้จริงมากขึ้น
5. Expiresabsolute
แตกต่างจากคุณสมบัติหมดอายุคุณสมบัติ expiresabsolute ระบุวันหมดอายุที่แน่นอนและเวลาของหน้าแคชในเบราว์เซอร์ ก่อนหมดอายุหากผู้ใช้กลับไปที่หน้าหน้าแคชจะปรากฏขึ้น หากไม่ได้ระบุเวลาหน้าแรกจะหมดอายุในเวลาเที่ยงคืนในวันเดียวกัน หากไม่ได้ระบุวันที่หน้าแรกจะหมดอายุในเวลาที่กำหนดในวันที่สคริปต์กำลังทำงานอยู่ ตัวอย่างต่อไปนี้ระบุว่าหน้าจะหมดอายุเวลา 9:00:30 น. ของวันที่ 10 ธันวาคม 2541
< % response.expiresabsolute =# 12,1998 9: 00: 30# %>
2. วิธี
1. ชัดเจน
เอาต์พุต HTML ทั้งหมดในบัฟเฟอร์สามารถล้างได้โดยใช้วิธีการที่ชัดเจน อย่างไรก็ตามวิธีการที่ชัดเจนจะล้างร่างกายการตอบสนองเท่านั้นและไม่ได้ล้างชื่อการตอบสนอง วิธีนี้สามารถใช้เพื่อจัดการกับข้อผิดพลาด แต่ถ้า Response.Buffer ไม่ได้ตั้งค่าเป็นจริงวิธีการจะทำให้เกิดข้อผิดพลาดรันไทม์
2. จบ
วิธีการสิ้นสุดทำให้เว็บเซิร์ฟเวอร์หยุดประมวลผลสคริปต์และส่งคืนผลลัพธ์ปัจจุบัน เนื้อหาที่เหลือในไฟล์จะไม่ถูกประมวลผล หาก Response.buffer ถูกตั้งค่าเป็น TRUE การตอบสนองการโทรจะบัฟเฟอร์ผลลัพธ์
3. ฟลัช
วิธีการล้างส่งเอาต์พุตในบัฟเฟอร์ทันที หาก Response.Buffer ไม่ได้ตั้งค่าเป็นจริงวิธีนี้จะทำให้เกิดข้อผิดพลาดรันไทม์
4. เปลี่ยนเส้นทาง
วิธีการเปลี่ยนเส้นทางทำให้เบราว์เซอร์เปลี่ยนเส้นทางไปยัง URL ที่ระบุโดยโปรแกรมทันที นี่เป็นวิธีที่เรามักจะใช้เพื่อให้โปรแกรมเมอร์สามารถระบุหน้าต่างๆสำหรับลูกค้าที่แตกต่างกันหรือหน้าต่างๆตามสถานการณ์ที่แตกต่างกันตามการตอบสนองที่แตกต่างกัน เมื่อใช้วิธีการเปลี่ยนเส้นทางเนื้อหาของร่างกายตอบสนองใด ๆ ที่ตั้งไว้อย่างชัดเจนในหน้าจะถูกละเว้น อย่างไรก็ตามวิธีนี้ไม่ได้ส่งชื่อ HTTP อื่น ๆ ที่ตั้งค่าไปยังไคลเอนต์สำหรับหน้าเว็บส่งผลให้มีการตอบสนองอัตโนมัติที่จะเปลี่ยนเส้นทาง URL เป็นลิงค์ วิธีการเปลี่ยนเส้นทางส่งชื่อที่ชัดเจนต่อไปนี้โดยที่ URL คือค่าที่ส่งผ่านไปยังวิธีการ ชอบ:
< % response.redirect (www.jb51.com) %>
5. เขียน
วิธีการเขียนเป็นหนึ่งในวิธีการที่ใช้กันมากที่สุดที่เรามักจะใช้
3. คอลเลกชัน
วัตถุตอบสนองมีเพียงชุดเดียว - คุกกี้
คอลเลกชันคุกกี้ตั้งค่าของคุกกี้ หากคุกกี้ที่ระบุไม่มีอยู่ให้สร้าง หากมีอยู่ให้ตั้งค่าใหม่และลบค่าเก่า
ไวยากรณ์
response.cookies (คุกกี้) [(คีย์) | .attribute] = ค่า
คุกกี้นี่คือชื่อของคุกกี้ที่ระบุ และหากมีการระบุคีย์คุกกี้เป็นพจนานุกรม แอตทริบิวต์ระบุข้อมูลเกี่ยวกับคุกกี้เอง พารามิเตอร์แอตทริบิวต์สามารถเป็นหนึ่งในสิ่งต่อไปนี้:
หากระบุโดเมนคุกกี้จะถูกส่งไปยังคำขอสำหรับโดเมน
หมดอายุระบุวันหมดอายุสำหรับคุกกี้ ในการจัดเก็บคุกกี้บนดิสก์ไคลเอนต์หลังจากสิ้นสุดเซสชันต้องตั้งค่าวันที่นี้ หากการตั้งค่าของคุณสมบัตินี้ไม่เกินวันที่ปัจจุบันคุกกี้จะหมดอายุหลังจากงานสิ้นสุดลง
Haskeys ระบุว่าคุกกี้มีคำหลักหรือไม่
เส้นทางหากระบุคุกกี้จะถูกส่งไปยังคำขอสำหรับเส้นทางเท่านั้น หากคุณสมบัตินี้ไม่ได้ตั้งค่าพา ธ ไปยังแอปพลิเคชัน
ณ จุดนี้เราได้เรียนรู้ความรู้เชิงทฤษฎีเกี่ยวกับคุณสมบัติวิธีการและคอลเลกชันของวัตถุตอบสนองทั้งหมด ก่อนอื่นให้คลิปโปรแกรมต่อไปนี้ลงในแผ่นจดบันทึกและบันทึกเป็น asp7.asp (หมายเหตุเพื่อลบพื้นที่ระหว่าง <และ %!!!)
-
- -
- ผู้หัด
- dimflag
- สลัว
- หรอก
- response.buffer = true 'เปิดใช้งานฟังก์ชันหน้าบัฟเฟอร์
- Response.contentType = text/html
- Response.charset = GB2312
- user = request.form (ชื่อผู้ใช้)
- pwd = request.form (รหัสผ่าน)
- say = request.querystring (พูด)
- -
- <formMethod = postaction = asp7.asp>
- <p> ชื่อผู้ใช้: <putType = textName = userNamesize = 12> <br>
- รหัสผ่าน: <putType = passwordName = passwordSize = 12> <br>
- <inputType = submitValue = subment name = b1> <putType = resetValue = ยกเลิกชื่อ = b2> </p> </form>
- -
- ifsay = 1 จากนั้น
- Response.write ยินดีต้อนรับนักวิชาการที่จะมา!
- endif
- ifsay> 1 จากนั้น
- Response.Write ยินดีต้อนรับเว็บไซต์ ASP ของนักวิชาการอีกครั้ง!
- endif
- ifuser = admandpwd = shushengthen
- Response.expires = 1'Set หน้าจะหมดอายุหลังจากถูกเก็บไว้ในบัฟเฟอร์ของเบราว์เซอร์เป็นเวลา 1 นาที
- ธง = 1
- elseifuser = guestandpwd = guestthen
- Response.expires = 0 'ทำให้หน้าแคชหมดอายุทันที
- Response.Clear 'ล้างหน้าที่เก็บไว้ในแคช
- ธง = 2
- elseifuser = vipandpwd = vipthen
- Response.write ยินดีต้อนรับวีไอพีไปยังเว็บไซต์ ASP ของนักวิชาการ
- ธง = 3
- อื่น
- ธง = 0
- Response.end'stop การประมวลผลสคริปต์ทันทีและส่งออกหน้าแคช
- endif
- Response.write <p> <ahref = 'asp7b.asp? flag = & flag &'> สิบแปดศิลปะการต่อสู้ของการออกแบบเว็บไซต์ไดนามิก-Asp (7) แบบฝึกหัดภาคปฏิบัติ </a> & l;/p>
- 'โอนค่าของธงตัวแปรไปยัง ASP7B.ASP
- -
- <p> สิบแปดศิลปะการต่อสู้ของการออกแบบเว็บไซต์แบบไดนามิก-ASP (7) แบบฝึกหัดภาคปฏิบัติ </p>
- บันทึกโปรแกรมต่อไปนี้เป็น asp7b.asp
- -
- Dimsaysay = request.QueryString (FLAG)
- SelectCaseSay
- กรณีที่ 1
- Response.redirectasp7.asp? พูด = 1
- กรณีที่ 2
- Response.redirectasp7.asp? พูด = 2
- กรณีที่ 3
- Response.redirectasp7.asp? พูด = 3
- case0
- Response.redirectasp7.asp? พูด = 0
- endelect
- -