Window.Open POST

我有一个链接,当点击我打开一个window.open窗口,如下所示。

window.open("edit.jsp?clientId=" + clientId + "&eventId=" + eventId , 'height=600,width=800,scrollbars=1,location:no,menubar:no,resizable=1,status:no,toolbar:no'); 

我不希望参数传递到这里,而是我希望像post这样的人不能复制url。

您无法触发javascript弹出窗口,然后强制发布post请求。

三种选择:

  1. 使用javascript触发一个带有target="_blank"的POST表单(但这不允许您禁用菜单栏等界面元素)。
  2. 在本地打开一个弹出窗口,但不指定URL。 使用window.open的结果来更改文档以生成表单,然后您将发布该表单。

     var myWindow = window.open("", "", "height=600,width=800,scrollbars=1,location=no,menubar=no,resizable=1,status=no,toolbar=no"); myWindow.document.write("Write a form here and then later on trigger it"); 
  3. 你真的不应该这样做。 如果用户复制url不好,那么您的应用程序设计就存在缺陷。

  4. 编辑后添加 :使用“空窗口”方法,但不是编写表单并触发它,而是在父级中执行XMLHTTPRequest (使用POST)。 此请求的结果可用于填充子窗口。

除了AJAX(jquery.load()),我将自己使用 – 以下方法如何:

 

target = _blank实际上会打开一个新的窗口/选项卡,处理发布的数据。不幸的是,你几乎无法控制新窗口的外观。

如何使用div实现模型弹出窗口? 您可以进行http post调用以加载该div / model弹出窗口的内容。 您也可以使用jQuery load()方法加载div的内容。

http://api.jquery.com/load/

其他一些模型弹出插件就在这里

http://jquery.com/demo/thickbox/

http://colorpowered.com/colorbox/

http://fancybox.net/