javascript:what';这是一种在另一个页面/选项卡上发布http帖子并查看其响应的好方法吗?

javascript:what';这是一种在另一个页面/选项卡上发布http帖子并查看其响应的好方法吗?,javascript,html,http,Javascript,Html,Http,在我的网页上有两个按钮,如“导出为pdf”或“导出为xml” 这与谷歌分析网页非常相似 当用户单击其中一个(例如导出为pdf)时,我需要将一些数据发布到服务器,并希望得到pdf文件(不同的内容类型)作为响应 在javascript中,实现这一点的好方法是什么? 我的意思是,我如何发布一些东西并在另一个窗口/选项卡上获得响应(与google analytics完全相同) 我需要发布一些东西,因为我需要传递有关用户创建的视图的信息,这些信息可能相当多 服务器端已经完成了,我只是不知道如何用javas

在我的网页上有两个按钮,如“导出为pdf”或“导出为xml” 这与谷歌分析网页非常相似

当用户单击其中一个(例如导出为pdf)时,我需要将一些数据发布到服务器,并希望得到pdf文件(不同的内容类型)作为响应

在javascript中,实现这一点的好方法是什么? 我的意思是,我如何发布一些东西并在另一个窗口/选项卡上获得响应(与google analytics完全相同)

我需要发布一些东西,因为我需要传递有关用户创建的视图的信息,这些信息可能相当多

服务器端已经完成了,我只是不知道如何用javascript实现它

谢谢

p、 美国。
我不认为我需要ajax或任何库来实现这一点

您可以将表单
target
属性设置为
\u blank
,让浏览器打开一个新窗口/选项卡

例如:

<form action="page.php" method="post" target="_blank">

创建表单并将其提交到新页面

var newForm = document.createElement("form");
newForm.target = "formSub";
newForm.action = "postForm.php";
newForm.method= "post";
newForm.style.display = "none";

var newHidden = document.createElement("input");
newHidden.type="hidden";
newHidden.name="foo";
newHidden.value="bar";

newForm.appendChild(newHidden);
document.body.append(newForm);
newForm.submit();

据我所知,实现这一点的一种方法是使用一些AJAX函数。您可以使用JavaScript中的
XMLHttpRequest
提交用户的选择。然后指导服务器如何操作并获得响应。一旦有了这个响应,只需再次使用JavaScript打开一个包含接收内容的新选项卡。为了简化操作,可以使用jQuery,它为AJAX调用提供了一个很好的API

如果您的web服务是RESTful的,那么您只需在JavaScript中打开一个新选项卡,直接指向您需要的资源(pdf文件)