您好,我非常感谢您对此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应该吃的早餐。提前谢谢!
答案 0 :(得分:1)
请求api在打开选项卡时不发送变量,而是向同一个URL发出第二个请求。检查服务器日志或浏览器控制台,每次单击该按钮时都会看到两个请求。