2017-03-09 129 views
0

假设我有2个HTML文件具有如下功能:调用其他javascript函数从其他JSP/HTML

A.html 
function A(){ 
... 
window.location.href = "B.html"; 
} 

B.html 
function B(){ 
... 
} 

我想从A.html直接到B.html并直接调用函数B 。我怎样才能做到这一点?因为我想从函数A传递JSON字符串到函数B,而不是使用window.onload()或$(document).ready()。

我将我的JSON字符串存储到本地存储,并将用户指向B.html。然后功能B将直接读取本地存储并处理数据。

+0

把这两个函数放在一个文件中,并在两个页面中都包含文件 –

+0

你必须以某种方式坚持你想传递的任何信息(即使这些信息只是一个表示'B()应该执行)。简单的信息可以在查询字符串上(例如:'B.html?runB = true'),更复杂的信息可以存储在本地存储或cookie中或者其他类型的信息中。在'B.html'上,你会得到代码来查找这些信息(无论你最终放在哪里)并相应地做出响应。 – David

+0

嗯...我曾经想过,因为我在不同的页面中构建2个模块,它涉及到很多数据传递,函数调用和DOM。我不想搞乱模块......任何建议? – helloworld1234

回答

0

您不能简单地将任何类型的数据从一个页面发布到另一个页面,而无需使用合适的后端数据。

选项1:定义RESTful路由 您需要定义第三页/ uri C,它仅负责设置JSON。也许是负责输出JSON的第四页/ uri D.

然后,您可以在A调用C来设置JSON之后分离关注点并将其从A重定向到B.并且B将调用D来获取由A设置的JSON。

选项2:存储(可选RESTful路由) 您也可以使用数据库,平面文件或会话来实现相同的结果,具体取决于在你的后端。