在這個簡化的小提琴中,我試圖重新設置用於後續表單提交的「標記」的值,但是儘管設置了值,下一個傳遞'標記'仍然設置爲QWERTY的初始值。Javascript變量貌似不會設置
var token = '';
function pollServer(token) {
alert("Calling with token: " + token);
alert("OLD: " + token);
token = "ASDFG"; // new token
alert("NEW: " + token);
}
function onsubmit_action() {
alert("A: " + token);
if (token === '') {
// set the initial token
token = 'QWERTY';
}
alert("B: " + token);
pollServer(token);
event.preventDefault();
}
DEMO:http://jsfiddle.net/tUtRH/
警報應該去:
<submit form>
A:
B: QWERTY
Calling with token: QWERTY
OLD: QWERTY
NEW: ASDFG
<submit form>
A: ASDFG
相反,第二種形式提交後,我得到:
A: QWERTY
在面對任何拍打或冷水傾倒在我的頭上會非常感激。 (很明顯,這段代碼已經被剝離,以涵蓋最小的情況,這實際上是一堆輪詢/ AJAX調用獲取/設置令牌等)。
他們都是這麼好的答案,我希望我能選擇其中** **全部正確! – Spanky 2012-08-14 20:34:13