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

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

6
ตรวจสอบว่าการโทร ajax ล้มเหลวเนื่องจากการตอบสนองที่ไม่ปลอดภัยหรือการเชื่อมต่อถูกปฏิเสธ
ฉันได้ทำการวิจัยมากมายและไม่สามารถหาวิธีจัดการกับเรื่องนี้ได้ ฉันกำลังพยายามทำการโทร jQuery ajax จากเซิร์ฟเวอร์ https ไปยังเซิร์ฟเวอร์ locahost https ที่ใช้ท่าเทียบเรือพร้อมใบรับรองที่ลงนามด้วยตนเอง ปัญหาของฉันคือฉันไม่สามารถระบุได้ว่าการตอบกลับเป็นการปฏิเสธการเชื่อมต่อหรือการตอบสนองที่ไม่ปลอดภัย (เนื่องจากการไม่ยอมรับใบรับรอง) มีวิธีกำหนดความแตกต่างระหว่างสถานการณ์ทั้งสองหรือไม่ responseTextและstatusCodeมักจะเหมือนกันในทั้งสองกรณีแม้ในคอนโซลโครเมี่ยมที่ฉันสามารถเห็นความแตกต่าง: net::ERR_INSECURE_RESPONSE net::ERR_CONNECTION_REFUSED responseTextเป็น "" เสมอและstatusCodeเป็น "0" สำหรับทั้งสองกรณี คำถามของฉันคือฉันจะทราบได้อย่างไรว่าการโทร jQuery ajax ล้มเหลวเนื่องจากERR_INSECURE_RESPONSEหรือเนื่องจากERR_CONNECTION_REFUSED? เมื่อยอมรับใบรับรองแล้วทุกอย่างทำงานได้ดี แต่ฉันต้องการทราบว่าเซิร์ฟเวอร์ localhost ปิดหรือเปิดและทำงาน แต่ยังไม่ยอมรับใบรับรอง $.ajax({ type: 'GET', url: "https://localhost/custom/server/", dataType: "json", async: true, success: function (response) { //do something }, error: function (xhr, textStatus, …
115 javascript  jquery  ajax  https 

9
jQuery: serialize () รูปแบบและพารามิเตอร์อื่น ๆ
เป็นไปได้ไหมที่จะส่งองค์ประกอบฟอร์ม (อนุกรมด้วย.serialize()วิธีการ) และพารามิเตอร์อื่น ๆ ด้วยคำขอ AJAX เดียว ตัวอย่าง: $.ajax({ type : 'POST', url : 'url', data : { $('#form').serialize(), par1 : 1, par2 : '2', par3: 232 } } หากไม่ใช่วิธีใดที่ดีที่สุดในการส่งแบบฟอร์มพร้อมกับพารามิเตอร์อื่น ๆ ขอบคุณ

6
ฉันจะตรวจสอบเหตุการณ์ jQuery AJAX กับ Jasmine ได้อย่างไร
ฉันพยายามใช้ Jasmine เพื่อเขียนข้อกำหนด BDD สำหรับคำขอ jQuery AJAX พื้นฐาน ฉันกำลังใช้ Jasmine ในโหมดสแตนด์อโลน (เช่นผ่านSpecRunner.html) ฉันได้กำหนดค่า SpecRunner ให้โหลด jquery และไฟล์. js อื่น ๆ มีความคิดที่ทำไมสิ่งต่อไปนี้ไม่ได้ผล? has_returned ไม่เป็นความจริงแม้แต่คิดว่า "yuppi!" การแจ้งเตือนปรากฏขึ้นได้ดี describe("A jQuery ajax request should be able to fetch...", function() { it("an XML file from the filesystem", function() { $.ajax_get_xml_request = { has_returned : false …
114 javascript  jquery  ajax  jasmine  bdd 

3
จะโหลด json ลงใน angular.js ng-model ได้อย่างไร?
ฉันมีสิ่งที่ฉันคิดว่าน่าจะเป็นคำถามที่ชัดเจนมาก แต่ฉันหาคำตอบไม่ได้เลย ฉันแค่พยายามโหลดข้อมูล JSON จากเซิร์ฟเวอร์ของฉันไปยังไคลเอนต์ ตอนนี้ฉันใช้ JQuery เพื่อโหลดด้วยการโทร AJAX (รหัสด้านล่าง) <script type="text/javascript"> var global = new Array(); $.ajax({ url: "/json", success: function(reports){ global = reports; return global; } }); </script> ซึ่งอยู่ในไฟล์ html ตอนนี้ใช้งานได้ แต่ปัญหาคือฉันต้องการใช้ AngularJS ตอนนี้ในขณะที่ Angular CAN ใช้ตัวแปรฉันไม่สามารถโหลดทุกอย่างเป็นตัวแปรได้ดังนั้นฉันจึงสามารถใช้ a สำหรับแต่ละลูปได้ ดูเหมือนว่าจะเกี่ยวข้องกับ "$ Scope" ซึ่งมักจะอยู่ในไฟล์. js ปัญหาคือฉันไม่สามารถโหลดโค้ดจากหน้าอื่นเป็นไฟล์. js ทุกตัวอย่างของ Angular …

6
เหตุใด Internet Explorer จึงไม่ส่งเนื้อหาโพสต์ HTTP ในการโทร Ajax หลังจากล้มเหลว
เราสามารถสร้างสถานการณ์ต่อไปนี้ขึ้นใหม่ได้อย่างน่าเชื่อถือ: สร้างเพจ HTML ขนาดเล็กที่ส่งคำขอ AJAX ไปยังเซิร์ฟเวอร์ (โดยใช้ HTTP POST) ยกเลิกการเชื่อมต่อจากเครือข่ายและเชื่อมต่อใหม่ ตรวจสอบแพ็กเก็ตที่ IE สร้างขึ้นหลังจากความล้มเหลว หลังจากการเชื่อมต่อเครือข่ายล้มเหลว IE จะส่งคำขอ AJAX ถัดไป แต่จะส่งเฉพาะส่วนหัว HTTP (ไม่ใช่เนื้อหา) เมื่อทำการโพสต์ HTTP สิ่งนี้ทำให้เกิดปัญหาทุกประเภทบนเซิร์ฟเวอร์เนื่องจากเป็นเพียงคำขอบางส่วน Google พบปัญหานี้กับ Bing และคุณจะพบผู้คนจำนวนมากบ่นเกี่ยวกับ "ข้อผิดพลาดของเซิร์ฟเวอร์แบบสุ่ม" โดยใช้ AJAX หรือความล้มเหลวของ AJAX ที่ไม่ได้อธิบาย เราทราบดีว่า IE (ไม่เหมือนกับเบราว์เซอร์อื่น ๆ ส่วนใหญ่) จะส่ง HTTP POST เป็นสองแพ็กเก็ต TCP / IP เสมอ ส่วนหัวและเนื้อหาจะถูกส่งแยกกัน ในกรณีที่เกิดความล้มเหลวโดยตรงIE จะส่งเฉพาะส่วนหัวเท่านั้น …

5
readystates ที่แตกต่างกันใน XMLHttpRequest หมายถึงอะไรและฉันจะใช้มันได้อย่างไร
XMLHttpRequestมี 5 readyStateวินาทีและฉันใช้เพียง 1 ในนั้น (อันสุดท้าย,4 ) อื่น ๆ มีไว้ทำอะไรและฉันสามารถใช้งานได้จริงอะไรบ้าง?

7
Ajax ปุ่มย้อนกลับและการอัปเดต DOM
หาก javascript แก้ไข DOM ในหน้า A ผู้ใช้จะไปที่หน้า B จากนั้นกดปุ่มย้อนกลับเพื่อกลับไปที่หน้า A การแก้ไข DOM ทั้งหมดของเพจ A จะหายไปและผู้ใช้จะแสดงเวอร์ชันที่ดึงมาจากเซิร์ฟเวอร์ มันใช้งานได้ใน stackoverflow, reddit และเว็บไซต์ยอดนิยมอื่น ๆ (ลองเพิ่มความคิดเห็นทดสอบในคำถามนี้จากนั้นไปที่หน้าอื่นและกดปุ่มย้อนกลับเพื่อกลับมาความคิดเห็นของคุณจะ "หายไป") สิ่งนี้สมเหตุสมผล แต่บางเว็บไซต์ (apple.com, basecamphq.com ฯลฯ ) กำลังบังคับให้เบราว์เซอร์ให้บริการผู้ใช้ในสถานะล่าสุดของหน้า (ไปที่http://www.apple.com/ca/search/?q=ipodคลิกที่ลิงก์ดาวน์โหลดที่ด้านบนจากนั้นคลิกปุ่มย้อนกลับ - การอัปเดต DOM ทั้งหมดจะถูกเก็บรักษาไว้) ความไม่ลงรอยกันมาจากไหน?
113 javascript  ajax  firefox 



4
ป้องกันการเปลี่ยนเส้นทางของ Xmlhttprequest
เป็นไปได้หรือไม่ที่จะป้องกันไม่ให้เบราว์เซอร์ติดตามการเปลี่ยนเส้นทางเมื่อส่ง XMLHttpRequest-s (เช่นรับรหัสสถานะการเปลี่ยนเส้นทางกลับมาและจัดการด้วยตัวเอง)

8
JQuery: 'Uncaught TypeError: Illegal invocation' ตามคำขอ ajax - หลายองค์ประกอบ
ฉันมีองค์ประกอบที่เลือกสองรายการคือ A และ B: เมื่อตัวเลือกที่เลือกของ A เปลี่ยนไปตัวเลือกของ B จะต้องได้รับการอัปเดตตามนั้น แต่ละองค์ประกอบใน A แสดงถึงองค์ประกอบหลายอย่างใน B ซึ่งเป็นความสัมพันธ์แบบหนึ่งต่อกลุ่ม (A ประกอบด้วยประเทศ B ควรมีเมืองที่ตั้งอยู่ในประเทศที่กำหนด) ฟังก์ชันdo_ajaxควรเรียกใช้คำขอแบบอะซิงโครนัส: function do_ajax(elem, mydata, filename) { $.ajax({ url: filename, context: elem, data: mydata, datatype: "html", success: function (data, textStatus, xhr) { elem.innerHTML = data; } }); } ในการอัปเดตตัวเลือกของ B ฉันได้เพิ่มการเรียกใช้ฟังก์ชันในonChangeเหตุการณ์ของ A นี่คือฟังก์ชันที่ทำงานเมื่อเหตุการณ์ …
112 html  ajax  jquery 

7
React JS - Uncaught TypeError: this.props.data.map ไม่ใช่ฟังก์ชัน
ฉันกำลังทำงานกับ reactjs และดูเหมือนจะไม่สามารถป้องกันข้อผิดพลาดนี้ได้เมื่อพยายามแสดงข้อมูล JSON (จากไฟล์หรือเซิร์ฟเวอร์): Uncaught TypeError: this.props.data.map is not a function ฉันได้ดู: รหัสตอบสนองที่ขว้าง“ TypeError: this.props.data.map ไม่ใช่ฟังก์ชัน” React.js this.props.data.map () ไม่ใช่ฟังก์ชัน สิ่งเหล่านี้ไม่ได้ช่วยฉันแก้ไขปัญหา หลังจากโหลดหน้าของฉันฉันสามารถตรวจสอบได้ว่า this.data.props ไม่ได้กำหนด (และมีค่าเทียบเท่ากับออบเจ็กต์ JSON - สามารถโทรติดต่อได้window.foo) ดังนั้นดูเหมือนว่าจะไม่โหลดในเวลาที่เรียกโดย ConversationList ฉันจะแน่ใจได้อย่างไรว่าmapเมธอดกำลังทำงานกับข้อมูล JSON ไม่ใช่undefinedตัวแปร var converter = new Showdown.converter(); var Conversation = React.createClass({ render: function() { var rawMarkup = converter.makeHtml(this.props.children.toString()); …
112 javascript  ajax  json  reactjs 

8
“ เนื้อหาผสมถูกบล็อก” เมื่อเรียกใช้การดำเนินการ HTTP AJAX ในหน้า HTTPS
ฉันกำลังส่งแบบฟอร์ม (ผ่าน GET ตามที่ต้องการ) ไปยัง crm (ViciDial) ฉันสามารถส่งแบบฟอร์มได้สำเร็จ แต่ถ้าฉันทำเช่นนั้นไฟล์การประมวลผลที่ crm ก็จะสะท้อนข้อความแสดงความสำเร็จเพียงเท่านี้ แทนที่จะเป็นข้อความนั้นฉันต้องการแสดงหน้าขอบคุณบนเว็บไซต์ของฉันดังนั้นฉันจึงตัดสินใจใช้ AJAX เพื่อส่งแบบฟอร์มและเปลี่ยนเส้นทางไปยังหน้าที่ฉันต้องการ แต่ฉันได้รับข้อผิดพลาดนี้ในเบราว์เซอร์ของฉัน: เนื้อหาผสม: หน้าเว็บใน ' https://page.com ' ถูกโหลดผ่าน HTTPS แต่ขอปลายทาง XMLHttpRequest ที่ไม่ปลอดภัย " http://XX.XXX.XX.XXX/vicidial/non_agent_api.php?queries=query=data '. คำขอนี้ถูกบล็อก เนื้อหาต้องแสดงผ่าน HTTPS นี่คือสคริปต์ AJAX ของฉัน: <script> SubmitFormClickToCall = function(){ jQuery.ajax({ url: "http://XX.XXX.XX.XX/vicidial/non_agent_api.php", data : jQuery("#form-click-to-call").serialize(), type : "GET", processData: false, contentType: …
111 javascript  php  jquery  html  ajax 

5
ข้อผิดพลาด 'No Transport' w / jQuery ajax call ใน IE
ฉันจำเป็นต้องใช้ foursquare API เพื่อค้นหาสถานที่ แน่นอนว่าเป็นการข้ามโดเมน ไม่มีปัญหาใด ๆ ใน Firefox แต่ใน Internet Explorer (7, 8, 9 ฉันได้ทดสอบแล้ว) รหัสจาวาสคริปต์ของฉันดูเหมือนว่า: searchVenues: function(searchQuery) { $.ajax({ url: 'https://api.foursquare.com/v2/venues/search', data: { sw: bound_south_west, ne: bound_north_east, query: searchQuery.query, oauth_token: FSQ_OAUTH_TOKEN, limit: 25, intent: 'browse', v: 20120206 }, cache: false, dataType: 'json', success: function(data) { displayResults(data, searchQuery.query); }, …

3
วิธีสกัดกั้นคำขอ AJAX ทั้งหมดที่สร้างโดยไลบรารี JS ต่างๆ
ฉันกำลังสร้างเว็บแอปที่มีไลบรารี JS ที่แตกต่างกัน (AngularJS, OpenLayers, ... ) และต้องการวิธีสกัดกั้นการตอบสนองของ AJAX ทั้งหมดเพื่อให้สามารถใช้งานได้ในกรณีที่เซสชันผู้ใช้ที่บันทึกไว้หมดอายุ (การตอบกลับกลับมาพร้อมกับ401 Unauthorizedสถานะ) เพื่อเปลี่ยนเส้นทางเขา ไปที่หน้าเข้าสู่ระบบ ฉันรู้ว่า AngularJS เสนอinterceptorsให้จัดการสถานการณ์ดังกล่าว แต่ไม่สามารถหาวิธีที่จะบรรลุการแทรกคำขอของ OpenLayers ได้ ดังนั้นฉันจึงเลือกใช้วิธี Vanilla JS ที่นี่ฉันพบโค้ดชิ้นนี้ ... (function(open) { XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { this.addEventListener("readystatechange", function() { console.log(this.readyState); // this one I changed }, false); open.call(this, method, url, async, …

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