jQuery ajax - วิธี getScript()
ตัวอย่าง
รับและปฏิบัติการ JavaScript ไฟล์ผ่าน AJAX คำขอ
$("button").click(function(){ $.getScript("demo_ajax_script.js"); });
คำอธิบายและการใช้งาน
getScript() วิธีนี้ใช้ HTTP GET โหลดและปฏิบัติการ JavaScript ไฟล์
ศัพท์
jQuery.getScript(url,success(response,status})
ตัวแปร | คำอธิบาย |
---|---|
url | URL ของที่จะขอ |
success(response,status) |
ตัวเลือกได้ กำหนดฟังก์ชันที่จะทำงานหลังจากคำขอทำงานเรียบร้อย ตัวแปรเพิ่มเติม:
|
รายละเอียด
ฟังก์ชันนี้เป็น Ajax ฟังก์ชันที่เขียนระบบสั้น ซึ่งเท่ากับ:
$.ajax({ url: url, dataType: "script", success: success });
การกลับค่าฟังก์ชันที่ใส่ข้อมูลกลับมาจาก JavaScript ไฟล์ นั้นมักจะไม่มีประโยชน์เพราะในตอนนั้นสคริปต์ได้ทำงานแล้ว
สคริปต์ที่โหลดเข้ามาจะปฏิบัติตามในสภาพเปิดเสรีทั้งหมด ดังนั้นสามารถใช้ตัวแปรอื่นๆ และฟังก์ชัน jQuery
เช่น โหลดไฟล์ test.js ที่มีรหัสโค้ดดังนี้:
$(".result").html("<p>Lorem ipsum dolor sit amet.</p>");
ด้วยการอ้างอิงชื่อไฟล์นี้ สามารถโหลดและปฏิบัติตามสคริปต์นี้:
$.getScript("ajax/test.js", function() { alert("Load was performed."); });
หมายเหตุ:ก่อน jQuery 1.2 คำสั่ง getScript สามารถเรียกใช้ไฟล์ JS ในท้องที่เท่านั้น ใน jQuery 1.2 คุณสามารถเรียกใช้ไฟล์ JavaScript ที่อยู่ในโดเมนอื่น ความเป็นจริง: Safari 2 หรือตัวรุ่นเก่ากว่าไม่สามารถปฏิบัติตามสคริปต์ได้ในโดเมนส่วนบุคคลทั้งหมด ถ้าใช้ getScript โหลดสคริปต์ ให้ใช้ฟังก์ชันหลังเวลาที่ระบุ
รายละเอียดเพิ่มเติม
ตัวอย่าง 1
โหลดและปฏิบัติตาม test.js:
$.getScript("test.js");
ตัวอย่าง 2
โหลดและปฏิบัติตาม test.js สำเร็จแล้วแสดงข้อความ:
$.getScript("test.js", function(){ alert("Script loaded and executed."); });
ตัวอย่าง 3
โหลด jQuery Official Color Animation Plugin ต่อไปนี้คือการเชื่อมโยงสีการเปลี่ยนแปลงตามเวลาที่ระบุ:
รหัส HTML:
<button id="go">Run</button> <div class="block"></div>
jQuery รหัสโค้ด:
jQuery.getScript("http://dev.jquery.com/view/trunk/plugins/color/jquery.color.js", function(){ $("#go").click(function(){ $(".block").animate( { backgroundColor: 'pink' }, 1000) .animate( { backgroundColor: 'blue' }, 1000); }); });