使用Firefox Request API发送POST数据

时间:2015-05-24 23:06:26

标签: firefox firefox-addon firefox-addon-sdk

您好,我非常感谢您对此Firefox API问题的帮助。

我有一个网页正在侦听名为sausage的POST变量:

<!DOCTYPE HTML>
<body>
<?php   
echo $_POST['sausage'];
?>

使用Firefox插件SDK中的Request API,我发了一个按钮,该按钮应该在发送POST变量香肠时加载我的网页:

var buttons = require('sdk/ui/button/action');
var tabs = require("sdk/tabs");
var Request = require("sdk/request").Request;

 var button = buttons.ActionButton({
    id: "mozilla-link",
    label: "Visit Mozilla",
    icon: {
        "16": "./icon-16.png",
        "32": "./icon-32.png",
        "64": "./icon-64.png"
        },
    onClick: handleClick
});

function handleClick(state)
{
    tabs.open({
        url: "http://localhost/home.php/",
        onOpen: runScript
    });
}

function runScript(tab)
{
    Request({
      url: "http://localhost/home.php/",
      content: { sausage: 'sausage' }
    }).post();
} 

这是加载目标页面,但不发送POST变量,因此php echo函数会抛出错误。请有人解释出了什么问题。我特别想避免使用任何较低级别的API函数,因为这看起来像Request应该吃的早餐。提前谢谢!

1 个答案:

答案 0 :(得分:1)

请求api在打开选项卡时不发送变量,而是向同一个URL发出第二个请求。检查服务器日志或浏览器控制台,每次单击该按钮时都会看到两个请求。