Javascript 请求URI窗口太大。打开-解决方法
我正在打开一个窗口并向其传递一组参数。在本例中,我发送的是json字符串。此时,信息是toolarge,请求URI太大Javascript 请求URI窗口太大。打开-解决方法,javascript,http,jquery,Javascript,Http,Jquery,我正在打开一个窗口并向其传递一组参数。在本例中,我发送的是json字符串。此时,信息是toolarge,请求URI太大 window.open('../pssops21/php/createPhonePdf.php?strSelectedItems=' + strSelectedItems + '&strQBNumbers=' + arrQBNumbers, 'mywindow', 'resizable=1, scrollbars=1, left=80,top=60, w
window.open('../pssops21/php/createPhonePdf.php?strSelectedItems='
+ strSelectedItems + '&strQBNumbers=' + arrQBNumbers, 'mywindow',
'resizable=1, scrollbars=1, left=80,top=60, width=650, min-height=400')
Window.open没有发布选项。jQueryAjax只发布信息、检索结果,不打开新窗口
有什么方法可以做到这一点吗
谢谢 您可以将新窗口打开到临时页面,然后使用JavaScript在原始页面中填写的表单在新窗口中发布该页面。您可以将新窗口打开到临时页面,然后在新窗口中使用JavaScript在原始页面中填写的表单从该页面发布。不幸的是,在web应用程序中,这是一种棘手的情况。URI大小的限制通常由您使用的浏览器决定,并且发布数据的选项不是可用的标准选项。由于安全原因,通常不支持执行Ajax post,然后“加载”结果 我过去使用过的一种解决方法是将其分为两步。基本上使用Ajax将json数据发布到服务器。作为响应,让服务器发回某种令牌以检索存储的数据。然后,将该标记用作您要打开的新窗口的参数,该窗口随后可以检索数据
我知道将数据传送到新页面需要做更多的工作,但它确实消除了这些大小/安全限制,并且是跨浏览器安全的。不幸的是,在web应用程序中,这是一种棘手的情况。URI大小的限制通常由您使用的浏览器决定,并且发布数据的选项不是可用的标准选项。由于安全原因,通常不支持执行Ajax post,然后“加载”结果 我过去使用过的一种解决方法是将其分为两步。基本上使用Ajax将json数据发布到服务器。作为响应,让服务器发回某种令牌以检索存储的数据。然后,将该标记用作您要打开的新窗口的参数,该窗口随后可以检索数据
我知道将数据传送到新页面需要做更多的工作,但它确实消除了这些大小/安全限制,并且是跨浏览器安全的。您可以使用以目标页面为目标的隐藏表单。为post值使用隐藏字段,并使用Javascript
submit()
方法提交表单
我相信,只有当您试图重定向当前窗口,而不是打开弹出窗口时,这才会起作用,尽管也可能有办法绕过这一限制。您可以使用以目标页面为目标的隐藏表单。为post值使用隐藏字段,并使用Javascript
submit()
方法提交表单
我相信只有当您试图重定向当前窗口,而不是打开弹出窗口时,这才会起作用,尽管也有办法绕过这一限制。您可以直接使用javascript,而不是将信息嵌入查询字符串中传递给窗口。在新打开的窗口上使用window.opener,您可以从子页面访问信息:
var selItems = window.opener.strSelectedItems;
请记住,在这种情况下,strSelectedItems需要在父页面中全局确定作用域。为了保持整洁,我会考虑主页上的函数,它将返回子页面所需的信息。 ,而不是将信息嵌入到查询字符串中的窗口中,可以直接使用JavaScript。在新打开的窗口上使用window.opener,您可以从子页面访问信息:
var selItems = window.opener.strSelectedItems;
请记住,在这种情况下,strSelectedItems需要在父页面中全局确定作用域。为了保持整洁,我会考虑主页上的函数,这些函数将返回子页面所需的信息。