2
考慮以下幾點:在匿名函數
包裝回調(作品)
$('#updateView').change(function(e) {
$.post(URL + "actions/updateView.php",
{ view: $(this).val() },
function() {reloadPage();}
);
});
通話功能直接(cookie設置但在頁面重新加載前似乎沒有更新)
$('#updateView').change(function(e) {
$.post(URL + "actions/updateView.php",
{ view: $(this).val() },
reloadPage()
);
});
對於我正在做的第一件作品,但第二件作品沒有。函數reloadPage(如下所示)在updateView.php更新cookie後重新載入頁面。出於某種原因,使用第二個版本的cookie在重新加載頁面之前未被設置。但如果我刷新頁面我自己,它「發現」cookie的新值。
在jQuery文檔中有關於此的東西嗎?我找不到任何東西。
function reloadPage() {location.reload(true);}
我使用jQuery 1.4.1,PHP 5.2.5,阿帕奇2.2.11
它的工作原理!這是一個jQuery的東西,還是隻是Javascript?如果jQuery,有一些文檔顯示這個?在$ .post的文檔頁面上,沒有使用匿名函數的示例。 – Samuel
@Samuel - 這是一般的JavaScript,甚至大多數語言。例如,在c#中:'MyClass.Event + = MyFunc'可以工作,但是'MyClass.Event + = MyFunc()'不會......因爲你不知道params的數量,函數名稱不帶參數或括號。 –
@Samuel - 請記住,在JavaScript中,一切都是一個對象,功能也是如此。所以如果你說reloadPage引用了這個對象,如果你說你正在執行reloadPage()。下面是一個聲明函數的例子,比存儲在一個變量中,然後通過該變量執行:'function hello(){alert('hello'); }; var x = hello; X();' – SBUJOLD