Google Chrome扩展程序POST VS GET

时间:2012-12-20 00:41:11

标签: javascript google-chrome google-chrome-extension

这是我的代码

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数据的窗口?

1 个答案:

答案 0 :(得分: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方法打开网站。