2017-03-09 45 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路由) 您也可以使用數據庫,平面文件或會話來實現相同的結果,具體取決於在你的後端。