是否可以使用 POST 向服务器发送数据?
即)我想将 POST 数据发送到 url:
http://www.a.com/b?cmd=tt
使用 POST 数据:
a=1
b=2
它是否可行以及如何实现?
是否可以使用 POST 向服务器发送数据?
即)我想将 POST 数据发送到 url:
http://www.a.com/b?cmd=tt
使用 POST 数据:
a=1
b=2
它是否可行以及如何实现?
事实上,您现在(从 Firefox 3.5 开始)可以从 Firebug 向任何域进行纯XHR POST,就像在页面上使用纯 JavaScript 一样,具有相同的主题限制。
如果您想经常使用它,代码有点冗长而且一点也不方便(除非您存储它并每次都复制粘贴)
粘贴到控制台(它会自动打开命令编辑器,因为它 > 1 行)
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");
请记住,在服务器端,您必须启用 CORS才能在 Firebug 中看到响应(否则,请求将被发送,但您不会在 Firebug 中看到响应;您可以在Fiddler中看到它);如果您在页面上打开了 Firebug http://foo/somepage
,那么 XHR 将在 HTTP 引荐来源标头字段中发送该 URL,并且必须允许该域通过Access-Control-Allow-Origin
您可以在服务器配置中设置的标头接收 XHR 响应,或者直接在页面中。
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";
?>
然后您可以使用 Firebug 的Net
选项卡来检查响应(Console
如果您Console > RIGHT CLICK > Show XMLHttpRequest
启用了选项,也可以在选项卡中)。
Mike Cooper 关于类似问题的引述:
据我所知,Firebug 无法做到这一点。但是,本着 Firebug 的精神,有一个非常有用的 Firefox 扩展,称为Tamper Data。这应该能够做你想做的事。
它允许您监视浏览器发出的每个请求,并且您可以打开一个选项,允许您在发送之前查看和编辑每个请求。
在源代码中查看其他答案:
如何使用 Firebug 发布到网页?
另请参阅:使用 Firebug 发送表单数据
如果您只是想修改 HTTP 请求,但要实际创建 HTTP 请求,则上述工作有一个名为Poster的 Firefox 扩展,其描述如下:
用于与 Web 服务和其他 Web 资源交互的开发人员工具,可让您发出 HTTP 请求、设置实体主体和内容类型。这允许您与 Web 服务交互并检查结果...
您可以使用内联 javascript 按钮简单地做到这一点:https ://stackoverflow.com/a/38643171/2377343