0

这是我的代码

chrome.windows.create({'url': "http://example.com/upload/upload.php?pictureID="+ theResponse + "&userID=" + localStorage["id"]+"&username="+  localStorage["mainLogin"]}, function(tab) {
  // open window
});

这构造了一个如下所示的 URL:

http://example.com/upload/upload.php?pictureID=123&userID=1&username=jack

我会称这种方法GET为 - 就像表单GETPOST

如何打开带有POST数据而不是GET数据的窗口?

4

1 回答 1

1

我认为您必须编写一个 HTML 页面来创建一个包含您的 POST 数据和目标 URL 的表单并提交该表单。这是一个简单的例子:

<html>
<head>
<script>
document.addEventListener('DOMContentLoaded', function()
{
    location.search.substr(1).split('&').forEach(function(item)
    {
        var input = document.createElement('input');
        input.type = 'hidden';
        input.name = item.substr(0, item.indexOf('='));
        input.value = item.substr(item.indexOf('=') + 1);
        document.getElementById('postform').appendChild(input);
    });
    document.getElementById('postform').submit();
});
</script>
</head>
<body>
<form action="http://example.com/upload/upload.php" method="post" id="postform">
</form>
</body>
</html>

假设它是您扩展程序根目录中的 test.html。称呼

chrome.windows.create({'url': "test.html?pictureID="+ theResponse + "&userID=" + localStorage["id"]+"&username="+  localStorage["mainLogin"]}, function(tab) {
  // open window
});

将使用 POST 方法打开网站。

于 2012-12-20T06:14:33.103 回答