2013-07-18 49 views
0

我的网站上有一个用于在其他网站注册的页面。其他网站给了我一个URL提交表单。我正在使用带有以下.attr(“method”,“GET”)。attr(“target”,“_blank”)...和其他代码的aspnetForm。一旦表单提交到他们的网站,新的空白窗口就会填充一条消息,说明表单提交是否成功。新页面包含来自其他网站的url,它包含一个查询字符串,其中包含对我有用的数据,以便我的应用程序确实知道提交是否成功,而不仅仅是提供给用户的视觉提示。有没有办法让我的应用程序从其他窗口中检索查询字符串数据?从外部表单检索查询字符串数据

谢谢

+0

你有没有看过使用window.open,发送数据到GET请求中的其他网站?有了它,您可以在自己的页面中存储对打开窗口的引用,然后在需要时访问该窗口的DOM。 – Michael

+0

我已经看到了。尽管如此,我仍然在努力处理另一个窗口。当我尝试引用window.open时,我得到一个空值。来自另一个网站的窗口是否会影响我获得参考的能力?我发现了一些关于在IE中取消选中“启用保护模式”的设置,这使得我可以得到一个对象引用,但我不认为这是一个非常好的解决方案。我也在研究window.postMessage,但还没有弄清楚我如何利用它。 – user2023116

+0

是的,我的猜测是你是正确的,如果你被允许访问这样的其他网站,这将是一个安全风险(跨站点脚本/ XSS)。我不是XSS的专家,但是我认为如果您想要这种访问权限,您必须与其他网站的所有者合作。关闭IE的默认安全设置听起来很冒险,所以我就跟你说。也许别人可以添加一些输入到这个。 – Michael

回答

0

说,如果你得到返回的URL是https://other-site.apsx?usefulData=blah

您可以从代码抓住这个背后使用:

var queryString = Request.QueryString["usefulData"]; 

这会给你的usefuleData的值,它是blah

+0

请求和响应都是通过javascript完成的,所以在这个过程中并没有真正的回调服务器代码。在接收到新窗口中的响应后,是否有建议的方式让这两个(Javascript和.Net)相互交谈? – user2023116