firebug:如何在firebug控制台中发送POST数据?

时间:2012-07-21 05:24:47

标签: javascript html firebug

是否可以使用POST将数据发送到服务器?

即我想将POST数据发送到url:

http://www.a.com/b?cmd=tt

使用POST数据:

a=1
b=2

它可行吗?如何?

3 个答案:

答案 0 :(得分:12)

事实上,你现在可以(从Firefox 3.5开始)从Firebug到任何域进行纯XHR POST,就像在页面上的纯JavaScript一样,主题有相同的限制。

代码有点冗长,但如果你想经常使用它(除非你每次都存储它并复制粘贴),它根本不方便

粘贴到控制台(它会自动打开Command Editor,因为它是> 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");

请记住,在服务器端,您必须enable CORS才能看到Firebug中的响应(否则,请求将被发送,但您不会在Firebug中看到响应;您可以在{ {3}}虽然);如果您在页面http://foo/somepage上打开Firebug,则该URL将由XHR在HTTP referrer标头字段中发送,并且必须允许该域通过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标签页。)

答案 1 :(得分:8)

引用Mike Cooper的类似问题:

  

据我所知,Firebug无法做到这一点。但是,根据Firebug的精神,有一个非常有用的Firefox扩展名为Tamper Data。这应该能够做你想做的事。

     

它允许您监视浏览器发出的每个请求,并且您可以打开一个选项,允许您在发送之前查看和编辑每个请求。

从源头查看其他答案: How do I POST to a web page using Firebug?
另见:Using Firebug to send form data


上述工作如果您只想修改HTTP请求,但实际创建HTTP请求,则会有一个名为Poster的Firefox扩展,其中包含以下描述:

  

用于与Web服务和其他Web资源交互的开发人员工具,允许您发出HTTP请求,设置实体主体和内容类型。这允许您与Web服务交互并检查结果......

答案 2 :(得分:0)

无需插件。

您只需使用内联javascript按钮即可:https://stackoverflow.com/a/38643171/2377343