是否可以使用POST将数据发送到服务器?
即我想将POST数据发送到url:
http://www.a.com/b?cmd=tt
使用POST数据:
a=1
b=2
它可行吗?如何?
答案 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