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

XMLHttpRequest (XHR) เป็นอ็อบเจ็กต์ JavaScript ที่เปิดเผย API สำหรับการสร้างคำขอ HTTP แบบอะซิงโครนัสจากโค้ดส่วนหน้าที่เรียกใช้เว็บเบราว์เซอร์นั่นคือสำหรับการเปิดใช้งานเทคนิคการเขียนโปรแกรมที่เรียกว่า AJAX XHR API เป็น API แบบเดิม มันถูกแทนที่โดย Fetch API

30
ฉันจะอัพโหลดไฟล์แบบอะซิงโครนัสได้อย่างไร
ฉันต้องการอัพโหลดไฟล์แบบอะซิงโครนัสกับ jQuery $(document).ready(function () { $("#uploadbutton").click(function () { var filename = $("#file").val(); $.ajax({ type: "POST", url: "addFile.do", enctype: 'multipart/form-data', data: { file: filename }, success: function () { alert("Data Uploaded: "); } }); }); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> <span>File</span> <input type="file" id="file" name="file" size="10"/> <input id="uploadbutton" type="button" value="Upload"/> เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายตัวอย่างข้อมูล แทนที่จะอัปโหลดไฟล์ฉันได้รับชื่อไฟล์เท่านั้น ฉันจะแก้ไขปัญหานี้ได้อย่างไร

30
การเข้าถึง - การควบคุม - อนุญาต - Origin หลายโดเมน Origin?
มีวิธีการอนุญาตให้ข้ามหลายโดเมนโดยใช้Access-Control-Allow-Originส่วนหัวหรือไม่ ฉันรู้เรื่อง*นี้ แต่มันเปิดเกินไป ฉันต้องการอนุญาตโดเมนเพียงสองสามข้อ ตัวอย่างเช่นสิ่งนี้: Access-Control-Allow-Origin: http://domain1.example, http://domain2.example ฉันลองใช้รหัสด้านบนแล้ว แต่ดูเหมือนจะไม่ทำงานใน Firefox เป็นไปได้หรือไม่ที่จะระบุหลายโดเมนหรือติดอยู่กับโดเมนเดียว?

17
ข้อผิดพลาด XmlHttpRequest: Origin null ไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin
ฉันกำลังพัฒนาหน้าที่ดึงภาพจาก Flickr และ Panoramio ผ่านการสนับสนุน AJAX ของ jQuery ด้าน Flickr ทำงานได้ดี แต่เมื่อฉันลอง$.get(url, callback)จาก Panoramio ฉันเห็นข้อผิดพลาดในคอนโซลของ Chrome: XMLHttpRequest ไม่สามารถโหลดhttp://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&callback=processImages&minx=-30&miny=0&maxx=0&maxy=150 Origin null ไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin หากฉันค้นหา URL นั้นจากเบราว์เซอร์โดยตรงจะทำงานได้ดี เกิดอะไรขึ้นและฉันจะแก้ไขสิ่งนี้ได้อย่างไร ฉันเขียนข้อความค้นหาไม่ถูกต้องหรือนี่คือสิ่งที่ Panoramio ทำเพื่อขัดขวางสิ่งที่ฉันพยายามทำ Google ไม่ได้เปิดขึ้นตรงกับประโยชน์ใด ๆ เกี่ยวกับข้อผิดพลาด แก้ไข นี่คือตัวอย่างรหัสบางส่วนที่แสดงปัญหา: $().ready(function () { var url = 'http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&callback=processImages&minx=-30&miny=0&maxx=0&maxy=150'; $.get(url, function (jsonp) { var processImages = function …

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 ได้อย่างไร

20
วิธีการอ่านไฟล์ข้อความในเครื่อง?
ฉันพยายามเขียนโปรแกรมอ่านไฟล์ข้อความอย่างง่ายโดยการสร้างฟังก์ชั่นที่ใช้ในเส้นทางของไฟล์และแปลงแต่ละบรรทัดของข้อความให้เป็นอาร์เรย์อาร์ค แต่มันไม่ทำงาน function readTextFile() { var rawFile = new XMLHttpRequest(); rawFile.open("GET", "testing.txt", true); rawFile.onreadystatechange = function() { if (rawFile.readyState === 4) { var allText = rawFile.responseText; document.getElementById("textSection").innerHTML = allText; } } rawFile.send(); } เกิดอะไรขึ้นที่นี่? สิ่งนี้ยังไม่สามารถใช้งานได้หลังจากเปลี่ยนรหัสเล็กน้อยจากการแก้ไขครั้งก่อนและตอนนี้ก็ทำให้ฉันมีXMLHttpRequestข้อยกเว้น 101 ฉันได้ทดสอบสิ่งนี้บน Firefox แล้วมันใช้งานได้ แต่ใน Google Chrome มันใช้งานไม่ได้และมันทำให้ฉันมีข้อยกเว้น 101 ฉันจะทำให้มันทำงานบนไม่ใช่แค่ Firefox เท่านั้น แต่ยังใช้กับเบราว์เซอร์อื่น ๆ )?

8
จำนวนคำขอ AJAX (XmlHttpRequest) ที่เกิดขึ้นพร้อมกันได้รับอนุญาตในเบราว์เซอร์ยอดนิยมหรือไม่
ใน Firefox 3 คำตอบคือ 6 ต่อโดเมน: ทันทีที่ XmlHttpRequest ที่ 7 (บนแท็บใดก็ได้) ไปยังโดเมนเดียวกันถูกใช้งานมันจะถูกจัดคิวจนกว่าจะเสร็จสิ้นอีก 6 รายการ เบราว์เซอร์หลักอื่น ๆ มีตัวเลขเท่าใด นอกจากนี้ยังมีวิธีแก้ไขข้อ จำกัด เหล่านี้โดยไม่ให้ผู้ใช้ของฉันแก้ไขการตั้งค่าเบราว์เซอร์หรือไม่ ตัวอย่างเช่นมีการ จำกัด จำนวนคำขอ jsonp (ซึ่งใช้การฉีดแท็กสคริปต์แทนที่จะเป็นวัตถุ XmlHttpRequest) หรือไม่ พื้นหลัง: ผู้ใช้ของฉันสามารถสร้าง XmlHttpRequests จากหน้าเว็บไปยังเซิร์ฟเวอร์ขอให้เซิร์ฟเวอร์เรียกใช้คำสั่ง ssh บนโฮสต์ระยะไกล หากรีโมตโฮสต์ไม่ทำงานคำสั่ง ssh ใช้เวลาสองสามนาทีในการล้มเหลวในที่สุดทำให้ผู้ใช้ของฉันดำเนินการคำสั่งเพิ่มเติมไม่ได้

18
Origin ไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin
ฉันกำลังAjax.requestเข้าสู่เซิร์ฟเวอร์ PHP ระยะไกลในแอปพลิเคชันSencha Touch 2 (รวมอยู่ในPhoneGap ) การตอบสนองจากเซิร์ฟเวอร์ต่อไปนี้: XMLHttpRequest ไม่สามารถโหลดhttp://nqatalog.negroesquisso.pt/login.php Origin http://localhost:8888ไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin ฉันจะแก้ไขปัญหานี้ได้อย่างไร

10
เหตุใดฉันจึงได้รับคำขอ OPTIONS แทนคำขอ GET
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script> <script> $.get("http://example.com/", function(data) { alert(data); }); </script> มันจะร้องขอ OPTIONS ไปยัง URL นั้นจากนั้นจะไม่มีการโทรกลับด้วยสิ่งใด เมื่อไม่ได้ข้ามโดเมนก็ใช้งานได้ดี jQuery ไม่ควรโทรออกด้วย<script>โหนดแล้วโทรกลับเมื่อทำการโหลดหรือไม่ ฉันเข้าใจว่าฉันจะไม่สามารถรับผลลัพธ์ได้ (เนื่องจากเป็นข้ามโดเมน) แต่ก็ไม่เป็นไร ฉันแค่ต้องการให้สายผ่าน นี่เป็นข้อบกพร่องหรือฉันกำลังทำอะไรผิดหรือเปล่า?

5
วิธีที่เหมาะสมในการรับการยกเว้นจาก JSON.parse
ฉันใช้JSON.parseการตอบกลับที่บางครั้งมีการตอบกลับ 404 ครั้ง ในกรณีที่มันคืนค่า 404 มีวิธีการตรวจสอบข้อยกเว้นแล้วรันรหัสอื่น ๆ ? data = JSON.parse(response, function (key, value) { var type; if (value && typeof value === 'object') { type = value.type; if (typeof type === 'string' && typeof window[type] === 'function') { return new(window[type])(value); } } return value; });

9
ไม่อนุญาตให้ใช้ XMLHttpRequest Origin Null สำหรับ Access-Control-Allow-Origin สำหรับไฟล์: /// ไปที่ file: /// (Serverless)
ฉันกำลังพยายามสร้างเว็บไซต์ที่สามารถดาวน์โหลดและรันภายในเครื่องได้โดยเปิดไฟล์ดัชนี ไฟล์ทั้งหมดเป็นไฟล์ในเครื่องไม่มีทรัพยากรที่ใช้งานออนไลน์ เมื่อฉันพยายามใช้ปลั๊กอิน AJAXSLT สำหรับ jQuery เพื่อประมวลผลไฟล์ XML ด้วยเทมเพลต XSL (ในไดเรกทอรีย่อย) ฉันได้รับข้อผิดพลาดดังต่อไปนี้: XMLHttpRequest cannot load file:///C:/path/to/XSL%20Website/data/home.xml. Origin null is not allowed by Access-Control-Allow-Origin. XMLHttpRequest cannot load file:///C:/path/to/XSL%20Website/assets/xsl/main.xsl. Origin null is not allowed by Access-Control-Allow-Origin. แฟ้มดัชนีการขอคือfile:///C:/path/to/XSL%20Website/index.htmlในขณะที่ไฟล์ JavaScript file:///C:/path/to/XSL%20Website/assets/js/ที่ใช้จะถูกเก็บไว้ใน ฉันจะแก้ไขปัญหานี้ได้อย่างไร

4
วิธีรับการตอบสนองของ XMLHttpRequest?
ฉันต้องการทราบวิธีการใช้ XMLHttpRequest เพื่อโหลดเนื้อหาของ URL ระยะไกลและมี HTML ของเว็บไซต์ที่เข้าถึงได้เก็บไว้ในตัวแปร JS พูดถ้าฉันต้องการโหลดและแจ้งเตือน () HTML ของhttp://foo.com/bar.phpฉันจะทำเช่นนั้นได้อย่างไร

7
CORS ร้ายแรงเมื่อ http: // localhost เป็นจุดกำเนิด
ฉันติดอยู่กับปัญหา CORS นี้แม้ว่าฉันจะตั้งเซิร์ฟเวอร์ (nginx / node.js) ด้วยส่วนหัวที่เหมาะสม ฉันเห็นในบานหน้าต่างเครือข่าย Chrome -> ส่วนหัวการตอบกลับ: Access-Control-Allow-Origin:http://localhost ซึ่งควรทำเคล็ดลับ นี่คือรหัสที่ฉันใช้ในการทดสอบ: var xhr = new XMLHttpRequest(); xhr.onload = function() { console.log('xhr loaded'); }; xhr.open('GET', 'http://stackoverflow.com/'); xhr.send(); ฉันเข้าใจ XMLHttpRequest ไม่สามารถโหลดhttp://stackoverflow.com/ Origin http: // localhostไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin ฉันสงสัยว่าเป็นปัญหาในสคริปต์ไคลเอ็นต์และไม่ใช่การกำหนดค่าเซิร์ฟเวอร์ ...

7
Origin null ไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin
ฉันได้สร้างไฟล์ xslt ขนาดเล็กเพื่อสร้างเอาต์พุต html ชื่อ weather.xsl พร้อมรหัสดังนี้: <!-- DWXMLSource="http://weather.yahooapis.com/forecastrss?w=38325&u=c" --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="yweather" xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"> <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="/"> <img src="{/*/*/item/yweather:condition/@text}.jpg"/> </xsl:template> </xsl:stylesheet> ฉันต้องการโหลดผลลัพธ์ html เป็น div ในไฟล์ html ที่ฉันพยายามทำโดยใช้ jQuery ดังนี้ <div id="result"> <script type="text/javascript"> $('#result').load('weather.xsl'); </script> </div> แต่ฉันได้รับข้อผิดพลาดต่อไปนี้: Origin null ไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin ฉันได้อ่านเกี่ยวกับการเพิ่มส่วนหัวใน xslt …

5
ฉันจะแนะนำ XHR ดั้งเดิมได้อย่างไร
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ ฉันต้องการใช้สัญญา (native) ในแอปส่วนหน้าของฉันเพื่อดำเนินการตามคำขอ XHR แต่ไม่มีการให้กรอบที่ใหญ่โต ฉันต้องการ XHR ของฉันจะกลับมาสัญญา แต่ไม่ได้ทำงาน (ให้ฉัน: Uncaught TypeError: Promise resolver undefined is not a function) function makeXHRRequest (method, url, done) { var xhr = new XMLHttpRequest(); xhr.open(method, url); xhr.onload = function() { return new Promise().resolve(); }; xhr.onerror = function() { return new Promise().reject(); …

7
Axios และ Fetch แตกต่างกันอย่างไร
ฉันกำลังเรียกใช้บริการเว็บโดยใช้การดึงข้อมูล แต่ฉันสามารถทำได้ด้วยความช่วยเหลือของ axios ดังนั้นตอนนี้ฉันสับสน ฉันควรจะไปหา axios หรือ fetch ไหม?

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