คำถามติดแท็ก angular-http

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', …

30
AngularJs $ http.post () ไม่ส่งข้อมูล
ใครสามารถบอกฉันได้ว่าทำไมข้อความต่อไปนี้ไม่ส่งข้อมูลการโพสต์ไปยัง URL ที่กำหนด? url ถูกเรียกใช้ แต่อยู่บนเซิร์ฟเวอร์เมื่อฉันพิมพ์ $ _POST - ฉันได้อาร์เรย์ที่ว่างเปล่า ถ้าฉันพิมพ์ข้อความในคอนโซลก่อนเพิ่มลงในข้อมูล - แสดงเนื้อหาที่ถูกต้อง $http.post('request-url', { 'message' : message }); ฉันได้ลองกับข้อมูลเป็นสตริง (ด้วยผลลัพธ์เดียวกัน): $http.post('request-url', "message=" + message); ดูเหมือนว่าจะใช้งานได้เมื่อฉันใช้ในรูปแบบต่อไปนี้: $http({ method: 'POST', url: 'request-url', data: "message=" + message, headers: {'Content-Type': 'application/x-www-form-urlencoded'} }); แต่มีวิธีทำด้วย $ http.post () - และฉันจะต้องรวมส่วนหัวเพื่อให้มันทำงานได้หรือไม่ ฉันเชื่อว่าประเภทเนื้อหาข้างต้นระบุรูปแบบของข้อมูลที่ส่ง แต่ฉันสามารถส่งเป็นวัตถุจาวาสคริปต์ได้หรือไม่

12
กำลังประมวลผลการตอบสนอง $ http ในบริการ
ผมเพิ่งโพสต์คำอธิบายรายละเอียดของปัญหาที่ฉันกำลังหันหน้าไปทางที่นี่ที่ SO เนื่องจากฉันไม่สามารถส่ง$httpคำขอจริงฉันใช้หมดเวลาเพื่อจำลองพฤติกรรมแบบอะซิงโครนัส การผูกข้อมูลจากแบบจำลองของฉันเพื่อดูทำงานถูกต้องด้วยความช่วยเหลือของ @Gloopy ตอนนี้เมื่อฉันใช้$httpแทน$timeout(ทดสอบภายในเครื่อง) ฉันสามารถเห็นคำขอแบบอะซิงโครนัสสำเร็จแล้วและdataเต็มไปด้วยคำตอบ json ในบริการของฉัน แต่มุมมองของฉันไม่ได้รับการปรับปรุง อัพเดท Plunkr ที่นี่

3
AngularJs ReferenceError: $ http ไม่ได้ถูกกำหนดไว้
ฉันมีฟังก์ชั่นเชิงมุมต่อไปนี้: $scope.updateStatus = function(user) { $http({ url: user.update_path, method: "POST", data: {user_id: user.id, draft: true} }); }; แต่เมื่อใดก็ตามที่เรียกใช้ฟังก์ชั่นนี้ฉันจะได้รับReferenceError: $http is not definedในคอนโซลของฉัน ใครช่วยฉันเข้าใจสิ่งที่ฉันทำผิดที่นี่?

8
จะยกเลิกคำขอ $ http ใน AngularJS ได้อย่างไร
รับคำขอ Ajax ใน AngularJS $http.get("/backend/").success(callback); วิธีที่มีประสิทธิภาพมากที่สุดในการยกเลิกคำขอนั้นคือถ้ามีการเปิดตัวคำขออื่น (เช่นแบ็กเอนด์เดียวกันพารามิเตอร์ที่แตกต่างกัน)

4
จาก jquery $ .ajax ไปจนถึง angular $ http
ฉันมีโค้ด jQuery ชิ้นนี้ที่ใช้งานได้ดีจากต้นกำเนิดข้าม: jQuery.ajax({ url: "http://example.appspot.com/rest/app", type: "POST", data: JSON.stringify({"foo":"bar"}), dataType: "json", contentType: "application/json; charset=utf-8", success: function (response) { console.log("success"); }, error: function (response) { console.log("failed"); } }); ตอนนี้ฉันกำลังพยายามที่จะแปลงสิ่งนี้เป็นรหัส Angular.js โดยไม่ประสบความสำเร็จ: $http({ url: "http://example.appspot.com/rest/app", dataType: "json", method: "POST", data: JSON.stringify({"foo":"bar"}), headers: { "Content-Type": "application/json; charset=utf-8" } }).success(function(response){ $scope.response = response; …

13
Angular 4.3 - พารามิเตอร์ชุด HttpClient
let httpParams = new HttpParams().set('aaa', '111'); httpParams.set('bbb', '222'); ทำไมถึงใช้ไม่ได้? ตั้งค่าเฉพาะ 'aaa' และไม่ใช่ 'bbb' นอกจากนี้ฉันมีวัตถุ {aaa: 111, bbb: 222} ฉันจะตั้งค่าทั้งหมดโดยไม่วนซ้ำได้อย่างไร อัปเดต (ดูเหมือนจะใช้งานได้ แต่จะหลีกเลี่ยงการวนซ้ำได้อย่างไร) let httpParams = new HttpParams(); Object.keys(data).forEach(function (key) { httpParams = httpParams.append(key, data[key]); });

2
พารามิเตอร์รับ $ http ไม่ทำงาน
ไม่มีใครรู้ว่าทำไมถึงใช้ไม่ได้? $http .get('accept.php', { source: link, category_id: category }) .success(function (data, status) { $scope.info_show = data }); และสิ่งนี้ได้ผล: $http .get('accept.php?source=' + link + '&category_id=' + category) .success(function (data, status) { $scope.info_show = data });
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.