คำถามติดแท็ก ajax

AJAX (JavaScript แบบอะซิงโครนัสและ XML) เป็นเทคนิคสำหรับการสร้างส่วนติดต่อผู้ใช้เว็บไซต์แบบโต้ตอบโดยไม่ต้องรีเฟรชหรือโหลดหน้าเว็บแบบเดิม ใช้การแลกเปลี่ยนข้อมูลแบบอะซิงโครนัสระหว่างไคลเอนต์และเซิร์ฟเวอร์เพื่ออัปเดตข้อมูลที่แสดงและตอบสนองต่อการโต้ตอบของผู้ใช้อย่างราบรื่น รวมแท็กเพิ่มเติมสำหรับภาษาโปรแกรมไลบรารีกรอบงานเว็บเบราว์เซอร์โปรโตคอลและข้อมูลด้านสิ่งแวดล้อมอื่น ๆ

20
การจัดการข้อผิดพลาด jQuery Ajax แสดงข้อความยกเว้นที่กำหนดเอง
มีวิธีที่ฉันสามารถแสดงข้อความยกเว้นที่กำหนดเองเป็นการแจ้งเตือนในข้อความแสดงข้อผิดพลาด jQuery AJAX ของฉันหรือไม่ ตัวอย่างเช่นถ้าฉันต้องการส่งข้อยกเว้นทางฝั่งเซิร์ฟเวอร์ผ่านStrutsโดยthrow new ApplicationException("User name already exists");ฉันต้องการจับข้อความนี้ ('ชื่อผู้ใช้มีอยู่แล้ว') ในข้อความแสดงข้อผิดพลาด jQuery AJAX jQuery("#save").click(function () { if (jQuery('#form').jVal()) { jQuery.ajax({ type: "POST", url: "saveuser.do", dataType: "html", data: "userId=" + encodeURIComponent(trim(document.forms[0].userId.value)), success: function (response) { jQuery("#usergrid").trigger("reloadGrid"); clear(); alert("Details saved successfully!!!"); }, error: function (xhr, ajaxOptions, thrownError) { alert(xhr.status); alert(thrownError); } …

14
ตัวอย่าง jQuery Ajax POST ด้วย PHP
ฉันกำลังพยายามส่งข้อมูลจากแบบฟอร์มไปยังฐานข้อมูล นี่คือแบบฟอร์มที่ฉันใช้: <form name="foo" action="form.php" method="POST" id="foo"> <label for="bar">A bar</label> <input id="bar" name="bar" type="text" value="" /> <input type="submit" value="Send" /> </form> วิธีการทั่วไปคือการส่งแบบฟอร์ม แต่สิ่งนี้ทำให้เบราว์เซอร์เปลี่ยนเส้นทาง ใช้ jQuery และAjaxเป็นไปได้หรือไม่ที่จะรวบรวมข้อมูลทั้งหมดของฟอร์มและส่งไปยังสคริปต์ PHP (ตัวอย่างเช่นform.php )
682 php  javascript  jquery  ajax  post 

20
รอจนกระทั่งคำขอ jQuery Ajax ทั้งหมดเสร็จสิ้นหรือไม่
ฉันจะทำให้ฟังก์ชั่นรอจนกระทั่งคำขอ jQuery Ajax ทั้งหมดเสร็จสิ้นภายในฟังก์ชั่นอื่นได้อย่างไร กล่าวโดยย่อฉันต้องรอให้คำขอ Ajax ทั้งหมดเสร็จสิ้นก่อนที่ฉันจะดำเนินการต่อไป แต่อย่างไร
675 javascript  jquery  ajax 

4
การอัปเดตแถบที่อยู่ด้วย URL ใหม่โดยไม่ต้องแฮชหรือโหลดซ้ำหน้าเว็บ
ฉันก็ฝันถึง Chrome (ช่อง dev) ใช้วิธีการปรับปรุงแถบที่อยู่ผ่านทางจาวาสคริปต์ (เส้นทางไม่ใช่โดเมน) โดยไม่ต้องโหลดหน้าเว็บซ้ำหรือพวกเขาทำสิ่งนี้จริงๆ อย่างไรก็ตามฉันไม่พบบทความที่ฉันคิดฉันอ่าน ฉันบ้าหรือมีวิธีการทำเช่นนี้ (ใน Chrome) หรือไม่ ป.ล. ฉันไม่ได้พูดถึง window.location.hash, et al. หากมีอยู่ข้างต้นคำตอบสำหรับคำถามนี้จะไม่เป็นจริง


7
มีวิธี PUT, DELETE, HEAD และอื่น ๆ ในเว็บเบราว์เซอร์ส่วนใหญ่หรือไม่?
ฉันเคยเห็นคำถามสองสามรอบที่นี่เช่นวิธีการดีบักบริการ RESTfulซึ่งกล่าวถึง: น่าเสียดายที่เบราว์เซอร์เดียวกันไม่อนุญาตให้ฉันทดสอบ HTTP PUT, DELETE และในระดับหนึ่งแม้แต่ HTTP POST ฉันเคยได้ยินด้วยว่าเบราว์เซอร์รองรับเฉพาะ GET และ POST จากแหล่งอื่น ๆ เช่น: http://www.packetizer.com/ws/rest.html http://www.mail-archive.com/jmeter-user@jakarta.apache.org/msg13518.html http://www.xml.com/cs/user/view/cs_msg/1098 อย่างไรก็ตามการทดสอบอย่างรวดเร็วใน Firefox แสดงให้เห็นว่าการส่งPUTและDELETEคำขอทำงานได้ตามที่คาดไว้ - การXMLHttpRequestดำเนินการเสร็จสมบูรณ์และคำขอจะแสดงในบันทึกของเซิร์ฟเวอร์ด้วยวิธีการที่ถูกต้อง มีบางสิ่งที่ฉันขาดหายไปเช่นความเข้ากันได้ข้ามเบราว์เซอร์หรือข้อ จำกัด ที่ไม่ชัดเจนหรือไม่?

17
ฉันจะส่งคำขอ POST ข้ามโดเมนผ่าน JavaScript ได้อย่างไร
ฉันจะส่งคำขอ POST ข้ามโดเมนผ่าน JavaScript ได้อย่างไร หมายเหตุ - ไม่ควรรีเฟรชหน้าเว็บและฉันจำเป็นต้องคว้าและแยกการตอบสนองในภายหลัง

14
กำลังส่ง multipart / formdata ด้วย jQuery.ajax
ฉันมีปัญหาในการส่งไฟล์ไปยังสคริปต์ PHP ฝั่งเซิร์ฟเวอร์โดยใช้ ajax-function ของ jQuery เป็นไปได้ที่จะได้รับ File-List $('#fileinput').attr('files')แต่จะเป็นไปได้อย่างไรในการส่งข้อมูลนี้ไปยังเซิร์ฟเวอร์ อาร์เรย์ผลลัพธ์ ( $_POST) บนเซิร์ฟเวอร์ php-script คือ 0 ( NULL) เมื่อใช้ไฟล์ - อินพุต ฉันรู้ว่ามันเป็นไปได้ (แม้ว่าฉันจะไม่พบโซลูชัน jQuery ใด ๆ จนกระทั่งตอนนี้มีเพียงรหัส Prototye ( http://webreflection.blogspot.com/2009/03/safari-4-multiple-upload-with-progress.html ) ) ดูเหมือนว่าจะค่อนข้างใหม่ดังนั้นโปรดอย่าพูดถึงการอัปโหลดไฟล์จะเป็นไปไม่ได้ผ่าน XHR / Ajax เพราะมันใช้งานได้อย่างแน่นอน ฉันต้องการฟังก์ชั่นใน Safari 5, FF และ Chrome จะดี แต่ไม่จำเป็น รหัสของฉันตอนนี้คือ: $.ajax({ url: 'php/upload.php', data: …

13
บน - window.location.hash - เปลี่ยนหรือไม่
ฉันใช้อาแจ็กซ์และแฮสำหรับการนำทาง มีวิธีตรวจสอบการwindow.location.hashเปลี่ยนแปลงเช่นนี้หรือไม่? http://example.com/blah # 123ถึงhttp://example.com/blah # 456 มันทำงานได้ถ้าฉันตรวจสอบเมื่อเอกสารโหลด แต่ถ้าฉันใช้การนำทาง #hash จะไม่ทำงานเมื่อฉันกดปุ่มย้อนกลับบนเบราว์เซอร์ (ดังนั้นฉันจึงข้ามจาก blah # 456 ไปยัง blah # 123) มันแสดงอยู่ข้างในกล่องที่อยู่ แต่ฉันไม่สามารถจับมันด้วย JavaScript

12
ส่งข้อมูล POST โดยใช้ XMLHttpRequest
ฉันต้องการส่งข้อมูลบางอย่างโดยใช้ XMLHttpRequest ใน JavaScript ว่าฉันมีแบบฟอร์มต่อไปในรูปแบบ HTML: <form name="inputform" action="somewhere" method="post"> <input type="hidden" value="person" name="user"> <input type="hidden" value="password" name="pwd"> <input type="hidden" value="place" name="organization"> <input type="hidden" value="key" name="requiredkey"> </form> ฉันจะเขียนเทียบเท่าโดยใช้ XMLHttpRequest ใน JavaScript ได้อย่างไร

22
ฉันจะโพสต์ข้อมูลเป็นข้อมูลแบบฟอร์มแทนที่จะเป็นเพย์โหลดคำขอได้อย่างไร
ในรหัสด้านล่างนี้$httpวิธีAngularJS เรียก URL และส่งวัตถุ xsrf เป็น "ขอให้จัดทำข้อมูล" (ตามที่อธิบายไว้ในแท็บเครือข่ายดีบักเกอร์ Chrome) $.ajaxวิธีการjQuery ทำการโทรแบบเดียวกัน แต่ส่ง xsrf เป็น "Data Form" ฉันจะทำให้ AngularJS ส่ง xsrf เป็นข้อมูลแบบฟอร์มแทนที่จะเป็นเพย์โหลดคำขอได้อย่างไร var url = 'http://somewhere.com/'; var xsrf = {fkey: 'xsrf key'}; $http({ method: 'POST', url: url, data: xsrf }).success(function () {}); $.ajax({ type: 'POST', url: url, data: xsrf, dataType: 'json', …

9
jQuery รับข้อความ textarea
เมื่อเร็ว ๆ นี้ฉันเริ่มเล่นกับ jQuery และติดตามบทเรียนสองสามอย่าง ตอนนี้ฉันรู้สึกมีความสามารถเล็กน้อยเมื่อใช้มัน (มันค่อนข้างง่าย) และฉันคิดว่ามันจะเจ๋งถ้าฉันสามารถสร้าง 'คอนโซล' บนเว็บเพจของฉันได้ (เช่นเดียวกับคุณกดปุ่ม `เหมือนกับที่คุณทำในเกมFPSฯลฯ ) จากนั้นให้ Ajax กลับไปที่เซิร์ฟเวอร์เพื่อทำสิ่งต่างๆ ตอนแรกฉันคิดว่าวิธีที่ดีที่สุดคือการได้รับข้อความภายใน textarea แล้วแยกมันหรือฉันควรใช้เหตุการณ์ keyup, แปลง keycode ที่ส่งคืนเป็นอักขระ ASCII ต่อท้ายอักขระเป็นสตริงและส่งสตริงไป เซิร์ฟเวอร์ (จากนั้นล้างสตริง) ฉันไม่พบข้อมูลใด ๆ เกี่ยวกับการรับข้อความจาก textarea สิ่งที่ฉันได้รับคือข้อมูลคีย์อัพ นอกจากนี้ฉันจะแปลงรหัสคีย์ที่ส่งคืนเป็นอักขระ ASCII ได้อย่างไร
486 javascript  jquery  ajax 

14
jQuery AJAX ข้ามโดเมน
นี่คือสองหน้า test.php และ testserver.php test.php <script src="scripts/jq.js" type="text/javascript"></script> <script> $(function() { $.ajax({url:"testserver.php", success:function() { alert("Success"); }, error:function() { alert("Error"); }, dataType:"json", type:"get" } )}) </script> testserver.php <?php $arr = array("element1", "element2", array("element31","element32")); $arr['name'] = "response"; echo json_encode($arr); ?> ตอนนี้ปัญหาของฉัน: เมื่อไฟล์เหล่านี้ทั้งสองอยู่บนเซิร์ฟเวอร์เดียวกัน (ทั้ง localhost หรือเว็บเซิร์ฟเวอร์) มันทำงานและalert("Success")ถูกเรียก; ถ้ามันอยู่บนเซิร์ฟเวอร์ที่แตกต่างกันหมายถึง testserver.php บนเว็บเซิร์ฟเวอร์และ test.php บน localhost …

21
การตอบสนองต่อคำขอ preflight ไม่ผ่านการตรวจสอบการควบคุมการเข้าถึง
ฉันได้รับข้อผิดพลาดนี้โดยใช้ ngResource โทรหา REST API บน Amazon Web Services: XMLHttpRequest ไม่สามารถโหลด http://server.apiurl.com:8000/s/login?login=facebook การตอบสนองต่อคำขอ preflight ไม่ผ่านการตรวจสอบการควบคุมการเข้าถึง: ไม่มีส่วนหัว 'Access-Control-Allow-Origin' บนทรัพยากรที่ร้องขอ แหล่งกำเนิด ' http: // localhost ' จึงไม่ได้รับอนุญาตให้เข้าถึง ข้อผิดพลาด 405 บริการ: socialMarkt.factory('loginService', ['$resource', function($resource){ var apiAddress = "http://server.apiurl.com:8000/s/login/"; return $resource(apiAddress, { login:"facebook", access_token: "@access_token" ,facebook_id: "@facebook_id" }, { getUser: {method:'POST'} }); }]); ควบคุม: …

23
ดาวน์โหลดไฟล์โดย jQuery.Ajax
ฉันมีการกระทำ Struts2 ในฝั่งเซิร์ฟเวอร์สำหรับการดาวน์โหลดไฟล์ <action name="download" class="com.xxx.DownAction"> <result name="success" type="stream"> <param name="contentType">text/plain</param> <param name="inputName">imageStream</param> <param name="contentDisposition">attachment;filename={fileName}</param> <param name="bufferSize">1024</param> </result> </action> อย่างไรก็ตามเมื่อฉันเรียกการกระทำโดยใช้ jQuery: $.post( "/download.action",{ para1:value1, para2:value2 .... },function(data){ console.info(data); } ); ใน Firebug ผมเห็นข้อมูลจะถูกดึงมากับกระแสไบนารี ฉันสงสัยว่าจะเปิดหน้าต่างดาวน์โหลดไฟล์ซึ่งผู้ใช้สามารถบันทึกไฟล์ไว้ในเครื่องได้อย่างไร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.