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

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

10
HTML5 ปรับขนาดภาพล่วงหน้าก่อนที่จะอัพโหลด
นี่คือเครื่องขูดเส้นก๋วยเตี๋ยว โปรดจำไว้ว่าเรามีที่จัดเก็บในตัว HTML5 และ xhr v2 และสิ่งที่ไม่ ฉันสงสัยว่าใครสามารถหาตัวอย่างการทำงานหรือแม้แต่ให้ฉันใช่หรือไม่ใช่สำหรับคำถามนี้ เป็นไปได้หรือไม่ที่จะปรับขนาดภาพโดยใช้ที่จัดเก็บในตัวเครื่องใหม่ (หรืออะไรก็ตาม) เพื่อให้ผู้ใช้ที่ไม่มีเงื่อนงำเกี่ยวกับการปรับขนาดภาพสามารถลากภาพขนาด 10mb ไปยังเว็บไซต์ของฉันได้ จากนั้นอัปโหลดที่ขนาดเล็กกว่า ฉันรู้ดีว่าคุณสามารถทำได้ด้วย Flash, Java applets, active X ... คำถามคือถ้าคุณสามารถทำได้ด้วย Javascript + Html5 คอยที่จะตอบสนองในนี้ ตาสำหรับตอนนี้

1
jQuery โพสต์ json ที่ถูกต้องในเนื้อหาคำขอ
ดังนั้นตามเอกสาร jQuery Ajaxมันทำให้ข้อมูลในรูปแบบของสตริงแบบสอบถามเมื่อส่งคำขอ แต่การตั้งค่าprocessData:falseควรอนุญาตให้ฉันส่ง JSON จริงในร่างกาย น่าเสียดายที่ฉันมีเวลาที่ยากลำบากในการพิจารณาก่อนหากสิ่งนี้เกิดขึ้นและครั้งที่ 2 สิ่งที่วัตถุดูเหมือนว่าจะถูกส่งไปยังเซิร์ฟเวอร์ ทั้งหมดที่ฉันรู้คือเซิร์ฟเวอร์ไม่ได้แยกวิเคราะห์สิ่งที่ฉันส่ง เมื่อใช้ไคลเอนต์ httpเพื่อโพสต์วัตถุตามตัวอักษร{someKey:'someData'}มันทำงาน แต่เมื่อใช้ jQuery ด้วยdata: {someKey:'someData'}จะล้มเหลว น่าเสียดายที่เมื่อฉันวิเคราะห์คำขอใน Safari มันบอกว่าเพย์โหลดข้อความเป็น[object Object]... ยอดเยี่ยม ... และใน Firefox โพสต์นั้นว่างเปล่า ... เมื่อทำการบันทึกเนื้อหาของร่างกายทางฝั่ง Java มันจะได้รับอย่างแท้จริง[object Object]ดังนั้นวิธีหนึ่งส่งข้อมูล REAL JSON? มีใครเคยมีประสบการณ์กับบริการ Java ข้อมูลอนุกรม JSON ในเนื้อหาคำขอกับคำขอส่งจาก jQuery? BTW นี่คือคำขอ $ .ajax แบบเต็ม: $.ajax({ contentType: 'application/json', data: { "command": "on" …

3
ดึง API กับ XMLHttpRequest
ฉันรู้ว่า Fetch API ใช้Promises และทั้งคู่อนุญาตให้คุณทำคำขอ AJAX ไปยังเซิร์ฟเวอร์ ฉันได้อ่านแล้วว่า Fetch API มีคุณสมบัติพิเศษบางอย่างซึ่งไม่สามารถใช้ได้XMLHttpRequest(และใน Fetch API polyfill เนื่องจากมีพื้นฐานมาจากXHR) API การดึงข้อมูลมีความสามารถพิเศษใดบ้าง

10
วิธีเปิดใช้งาน CORS ใน AngularJs
ฉันสร้างตัวอย่างโดยใช้ JavaScript สำหรับ API การค้นหาภาพถ่าย Flickr ตอนนี้ฉันกำลังแปลงเป็น AngularJs ฉันค้นหาบนอินเทอร์เน็ตและพบการกำหนดค่าด้านล่าง การกำหนดค่า: myApp.config(function($httpProvider) { $httpProvider.defaults.useXDomain = true; delete $httpProvider.defaults.headers.common['X-Requested-With']; }); บริการ: myApp.service('dataService', function($http) { delete $http.defaults.headers.common['X-Requested-With']; this.flickrPhotoSearch = function() { return $http({ method: 'GET', url: 'http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=3f807259749363aaa29c76012fa93945&tags=india&format=json&callback=?', dataType: 'jsonp', headers: {'Authorization': 'Token token=xxxxYYYYZzzz'} }); } }); ควบคุม: myApp.controller('flickrController', function($scope, dataService) { $scope.data = …

11
ส่วนหัวคำขอข้ามแหล่งกำเนิด (CORS) ด้วยส่วนหัว PHP
ฉันมีสคริปต์ PHP ง่าย ๆ ที่ฉันพยายามขอ CORS ข้ามโดเมน: <?php header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Headers: *"); ... แต่ฉันยังคงได้รับข้อผิดพลาด: X-Requested-Withไม่อนุญาตให้ใช้ฟิลด์ส่วนหัวคำขอAccess-Control-Allow-Headers มีอะไรฉันหายไป?

8
แก้ไขและเล่นซ้ำ XHR chrome / firefox ฯลฯ หรือไม่
ฉันกำลังมองหาวิธีที่จะแก้ไขคำขอ XHR ที่ทำในเบราว์เซอร์ของฉันแล้วเล่นซ้ำอีกครั้ง สมมติว่าฉันมีคำขอ POST ที่สมบูรณ์ในเบราว์เซอร์ของฉันและสิ่งเดียวที่ฉันต้องการเปลี่ยนคือค่าเล็กน้อยจากนั้นเล่นอีกครั้ง นี่จะง่ายกว่าและเร็วกว่ามากที่จะทำในเบราว์เซอร์โดยตรง ฉันใช้ google ไปรอบ ๆ และไม่พบวิธีการทำเช่นนี้ใน Chrome หรือ Firefox มีวิธีที่จะทำในเบราว์เซอร์อย่างใดอย่างหนึ่งหรืออาจจะเป็นอีกวิธีหนึ่งหรือไม่

8
Pure JavaScript ส่งข้อมูล POST โดยไม่มีแบบฟอร์ม
มีวิธีส่งข้อมูลโดยใช้เมธอด POST โดยไม่มีแบบฟอร์มและไม่รีเฟรชเพจโดยใช้ JavaScript ล้วนๆ (ไม่ใช่ jQuery $.post()) หรือไม่ อาจจะhttprequestหรืออย่างอื่น (หาไม่ได้แล้ว)?

3
JavaScript จัดการกับการตอบสนอง AJAX ในพื้นหลังได้อย่างไร
เนื่องจาก JavaScript ทำงานในเธรดเดียวหลังจากที่ร้องขอ AJAX แล้วจะเกิดอะไรขึ้นในพื้นหลัง ฉันต้องการทราบข้อมูลเชิงลึกเกี่ยวกับเรื่องนี้มากขึ้น

11
ไม่มีส่วนหัว 'Access-Control-Allow-Origin' บนทรัพยากรที่ร้องขอ ต้นกำเนิด '…' จึงไม่ได้รับอนุญาตให้เข้าถึง
ฉันใช้. htaccess เพื่อเขียน URL ใหม่และฉันใช้แท็กฐาน html เพื่อให้ใช้งานได้ ตอนนี้เมื่อฉันพยายามส่งคำขอ ajax ฉันได้รับข้อผิดพลาดต่อไปนี้: XMLHttpRequest ไม่สามารถโหลดhttp://www.example.com/login.phpได้ ไม่มีส่วนหัว 'Access-Control-Allow-Origin' บนทรัพยากรที่ร้องขอ Origin ' http://example.com' ไม่อนุญาตให้เข้าถึง

15
หมายความว่าอย่างไรเมื่อคำขอ HTTP ส่งคืนรหัสสถานะ 0
หมายความว่าอย่างไรเมื่อการเรียกเครือข่าย JavaScript เช่นการดึงข้อมูลหรือ XMLHttpRequest หรือการร้องขอเครือข่าย HTTP ประเภทอื่น ๆ ล้มเหลวด้วยรหัสสถานะ HTTP เป็น 0? ดูเหมือนจะไม่เป็นรหัสสถานะ HTTP ที่ถูกต้องเนื่องจากรหัสอื่นเป็นตัวเลขสามหลักในข้อกำหนด HTTP ฉันลองถอดปลั๊กเครือข่ายออกมาเป็นการทดสอบ อาจไม่เกี่ยวข้อง แต่ทำให้รหัสสถานะ 17003 (IIRC) ซึ่งการค้นหาคร่าวๆแนะนำว่าหมายถึง "การค้นหาเซิร์ฟเวอร์ DNS ล้มเหลว" รหัสเดียวกันทำงานได้ดีจากบางสถานที่และระบบอย่างไรก็ตามในบางสภาพแวดล้อมมันล้มเหลวด้วยรหัสสถานะ 0 และไม่มีการตอบสนองต่อข้อความ นี่เป็น HTTP POST ทั่วไปสำหรับ URL อินเทอร์เน็ต ไม่เกี่ยวข้องกับไฟล์: // ซึ่งฉันเข้าใจว่าอาจส่งคืน 0 แสดงถึงความสำเร็จใน Firefox

17
ข้อผิดพลาด AngularJS: คำขอข้ามแหล่งที่มารองรับเฉพาะโครงร่างโปรโตคอล: http, data, chrome-extension, https
ฉันมีไฟล์สามไฟล์ของแอปพลิเคชั่น js เชิงมุมที่เรียบง่ายมาก index.html <!DOCTYPE html> <html ng-app="gemStore"> <head> <script src='https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js'></script> <script type="text/javascript" src="app.js"></script> </head> <body ng-controller="StoreController as store"> <div class="list-group-item" ng-repeat="product in store.products"> <h3>{{product.name}} <em class="pull-right">{{product.price | currency}}</em></h3> </div> <product-color></product-color> </body> </html> ผลิตภัณฑ์ color.html <div class="list-group-item"> <h3>Hello <em class="pull-right">Brother</em></h3> </div> app.js (function() { var app = angular.module('gemStore', []); app.controller('StoreController', …

4
อนุญาตให้ Google Chrome ใช้ XMLHttpRequest เพื่อโหลด URL จากไฟล์ในเครื่อง
เมื่อพยายามส่งคำขอ HTTP โดยใช้ XMLHttpRequest จากไฟล์ในเครื่องโดยทั่วไปจะล้มเหลวเนื่องจากการAccess-Control-Allow-Originละเมิด อย่างไรก็ตามฉันใช้หน้าเว็บท้องถิ่นด้วยตัวเองดังนั้นฉันจึงสงสัยว่ามีวิธีใดบ้างที่จะทำให้ Google Chrome อนุญาตคำขอเหล่านี้ซึ่งมาจากไฟล์ในเครื่องไปยัง URL บนอินเทอร์เน็ต เช่น$.get('http://www.google.com/')ล้มเหลวเมื่อดำเนินการในไฟล์ในเครื่อง แต่ฉันได้เขียนสคริปต์หน้าด้วยตัวเองและฉันใช้งานด้วยตัวเองดังนั้นจะมีประโยชน์อย่างยิ่งหากฉันสามารถระงับและโหลด URL ได้ ดังนั้นฉันจะอนุญาตให้ Google Chrome โหลด URL โดยใช้ XMLHttpRequest จากไฟล์ในเครื่องได้อย่างไร

3
onload เท่ากับ readyState == 4 ใน XMLHttpRequest หรือไม่
ฉันสับสนเกี่ยวกับเหตุการณ์ผลตอบแทน xhr อย่างที่ฉันบอกได้ว่าonreadystatechange -> readyState == 4และ onload ไม่แตกต่างกันมากนักมันเป็นความจริงหรือไม่ var xhr = new XMLHttpRequest(); xhr.open("Get", url, false); xhr.onreadystatechange = function() { if (xhr.readyState === 4) { /* do some thing*/ } }; xhr.send(null); หรือ xhr.onload = function() { /* do something */ }

6
ความแตกต่างระหว่าง XMLHttpRequest, jQuery.ajax, jQuery.post, jQuery.get คืออะไร
ฉันจะรู้ได้อย่างไรว่าวิธีใดดีที่สุดสำหรับสถานการณ์ ใครช่วยยกตัวอย่างเพื่อให้ทราบถึงความแตกต่างของฟังก์ชันการทำงานและประสิทธิภาพ

6
file_get_contents (“ php: // input”) หรือ $ HTTP_RAW_POST_DATA อันไหนดีกว่าในการรับเนื้อหาของคำขอ JSON
file_get_contents("php://input")หรือ$HTTP_RAW_POST_DATA- อันไหนดีกว่าที่จะได้รับเนื้อหาของคำขอ JSON และประเภทคำขอ ( GETหรือPOST) ผมควรจะใช้ในการส่งข้อมูล JSON เมื่อใช้ฝั่งไคลเอ็นต์XmlHTTPRequest? คำถามของฉันได้รับแรงบันดาลใจจากคำตอบนี้: วิธีโพสต์ JSON เป็น PHP ด้วย curl อ้างจากคำตอบนั้น: จากมุมมองของโปรโตคอลfile_get_contents("php://input")นั้นถูกต้องกว่าเนื่องจากคุณไม่ได้ประมวลผลข้อมูลฟอร์มหลายส่วนของ http จริงๆ
120 php  json  xmlhttprequest 

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