Bin*_*hen 8 html javascript firebug
是否可以使用POST将数据发送到服务器?
即)我想将POST数据发送到url:
http://www.a.com/b?cmd=tt
Run Code Online (Sandbox Code Playgroud)
使用POST数据:
a=1
b=2
Run Code Online (Sandbox Code Playgroud)
它可行吗?怎么样?
jak*_*b.g 12
事实上,你现在可以(从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");
Run Code Online (Sandbox Code Playgroud)
请记住,在服务器端,您必须启用CORS,才能在Firebug中查看响应(否则,请求将被发送,但您不会在Firebug中看到响应;但您可以在Fiddler中看到它); 如果您在页面上打开Firebug http://foo/somepage,那么该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";
?>
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用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服务交互并检查结果...