2012-07-21 31 views

Trả lời

8

Trích từ Mike Cooper trên một câu hỏi tương tự:

Theo như tôi biết, Firebug có thể không làm điều này. Tuy nhiên, có một phần mở rộng Firefox rất hữu ích, theo tinh thần của Firebug, được gọi là Tamper Data. Điều này sẽ có thể làm những gì bạn muốn.

Nó cho phép bạn theo dõi từng yêu cầu của trình duyệt và bạn có thể bật tùy chọn cho phép bạn xem và chỉnh sửa mọi yêu cầu trước khi gửi.

Xem câu trả lời khác tại nguồn: How do I POST to a web page using Firebug?
Xem thêm: Using Firebug to send form data


Công việc trên nếu bạn chỉ đơn giản là muốn thay đổi các yêu cầu HTTP, nhưng để thực sự tạo ra các yêu cầu HTTP, có một trình duyệt Firefox phần mở rộng được gọi là Poster, có mô tả sau:

Công cụ dành cho nhà phát triển để tương tác với các dịch vụ web và các tài nguyên web khác mà cho phép bạn thực hiện các yêu cầu HTTP, đặt nội dung thực thể và loại nội dung. Điều này cho phép bạn tương tác với các dịch vụ web và kiểm tra kết quả ...

12

Trong thực tế, bạn có thể bây giờ (kể từ khi Firefox 3.5) làm cho tinh khiết XHR POST từ Firebug, để bất kỳ tên miền, bạn giống như trong Javascript tinh khiết trên trang, với chủ đề cùng hạn chế.

Mã này là một chút dài và không tiện dụng ở tất cả mặc dù nếu bạn muốn sử dụng nó thường xuyên (trừ khi bạn lưu nó và sao chép-dán mỗi lần)

Dán vào giao diện điều khiển (nó sẽ mở Command Editor tự động, vì nó là> 1 dòng)

var xhr = new XMLHttpRequest(); 
xhr.open("POST", "http://test/xhrtest.php?w=www"); 
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xhr.send("a=aaa&b=bbb"); 

Hãy nhớ rằng trên server-side, bạn phải enable CORS, để xem phản ứng trong Firebug (nếu không, yêu cầu sẽ được gửi đi, nhưng bạn sẽ không thấy các phản ứng trong Firebug; bạn có thể thấy nó trong Fiddler mặc dù); nếu bạn đã mở Firebug khi đang ở trang http://foo/somepage thì URL đó sẽ được XHR gửi trong trường tiêu đề liên kết HTTP và tên miền đó phải được phép nhận phản hồi XHR qua tiêu đề Access-Control-Allow-Origin mà bạn có thể đặt trong cấu hình máy chủ, hoặc trực tiếp trong trang.

Ví dụ trong PHP:

<?php 
header('Access-Control-Allow-Origin: *'); 
//you can adjust it more fine-grained, perhaps in an 'if' 
//header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']); 
//header('Access-Control-Allow-Origin: http://foo'); 

echo $_POST['a'] . "\r\n"; 
echo $_POST['b'] . "\r\n"; 
echo $_GET['w'] . "\r\n"; 
?> 

Sau đó, bạn có thể sử dụng tab Firebug của Net để kiểm tra phản ứng (và cũng có trong Console tab nếu bạn có Console > RIGHT CLICK > Show XMLHttpRequest tùy chọn kích hoạt).

+1

Sử dụng [encodeURIComponent] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent) nếu bạn muốn sử dụng các ký tự như '&' trong các biến được đăng. –

Các vấn đề liên quan