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).
Nguồn
2012-07-22 22:56:47
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. –