2011-08-03 26 views
0

我們正在實施一個飛出郵件系統,通常在用戶與頁面交互時飛出,但有時需要在頁面加載後飛出。請求通過url/post參數執行腳本的常用方法?

例如,通過AJAX設置密碼後,我們希望返回主頁,一旦加載該頁面,就會顯示「您的密碼已更改」消息。

我們將使用Coldfusion創建實際的JavaScript調用並將它們寫入HTML中。

我的問題是,如果有一個標準的方式來請求通過url/form參數執行腳本?

我傾向於使用一個表單參數,它是一個JSON字符串,它包含正確的函數調用字符串和參數。

+0

Protocol = HTTP ...我錯過了什麼嗎? –

+0

好吧,這使得更有意義...你想編輯你的問題,以反映這一點,'協議'一詞有點誤導。 –

回答

1

要做你正在談論的一個好方法就是在你的<body>標籤或類似的標籤上使用「數據」參數約定。

<body data-startmsg='Password successfully changed'> 
    <!-- whole page of whatever --> 
</body> 

現在你的JavaScript —這並不一定是內聯腳本—在頁面上只需要一個「準備」或「裝載」處理它可以檢查「數據startmsg」關於<body>屬性,顯示它的彈出窗口。

根據消息系統的複雜程度,有很多變體。例如,如果彈出窗口可能需要更精細的佈局或表單輸入或類似的東西,那麼您可以將其轉儲到頁面上作爲<div>(或<aside>我猜)元素,並使其隱藏,直到彈出代碼可以找到它們。

編輯 —進一步闡述,我認爲,讓您的客戶端代碼工作,你描述的URL的組成部分的基礎可能是一個相當主意,因爲它使你的頁面可能更容易更多種類的XSS攻擊媒介。通過使JavaScript代碼只從部分完全由服務器上的安全代碼設置的頁面提示,您會使攻擊難以利用參數清理中的一些弱點,因爲在該設置中,客戶端代碼會高興地服從你可能沒有打算的URL中的參數。

+0

謝謝。你的回答告訴我,我的問題很不清楚。我已經修改了這個問題,希望更清楚。 –