解決方案如下:編輯#2jQuery unload():更新Cookie後的語法錯誤 - 如何找到原因?
我有一個HTML列表用戶可以排序。我不想在每次拖放操作後保存數據,因此我將這些數據保存在unload中:放在cookie和數據庫中。那是工作,但是:
保存列表隱藏在數據之後,我在這條線得到一個「語法錯誤」:
<!DOCTYPE html>
這很奇怪,因爲一切都刷新同一個頁面後工作正常(F5)無需改變任何東西
我試圖找到原因,但沒有成功。這是流程:
1. visit the page (index.php)
2. change the list (set: list_is_dirty = true)
3. click any internal link (call $(window).unload(... save_data() ...)
4. target page appears without the list (syntax error!)
5. refreshing the page (everything works fine)
你知道如何找到這個錯誤嗎?任何工具或策略?或者,也許卸載功能的經驗相同?
在此先感謝!
編輯:
一些代碼:
var list_is_dirty = false;
// document ready?
$(function() {
function sort_list() {
// some code, not important
}
sort_list();
$(window).unload(function() {
if (list_is_dirty == true) {
/* ---------- HERE's the error! ---------- */
/* The error occures when I try to call the script.php
I tried load(), $.post(), $.get() but nothing works.
The string is correct. I'm not even able to call any of
these functions without params.
*/
// send data to script.php to save data
$("#div").load("script.php?str="+list_data_str);
$.cookie("list_data", list_data_str);
}
});
}
編輯#2 /解決方案: 我不知道爲什麼,但一切都與window.onbeforeunload工作jQuery.unload代替()。解釋會很棒!我很抱歉這個令人困惑的線程!
window.onbeforeunload = function(e) {
$("#div").load("script.php");
}
需要更多的實際代碼/錯誤,少說釋義。 – melpomene
@melpomene感謝您的回覆。我試圖找出重要的路線。 –
@aug我認爲你是對的。這是我猜想的。我會在幾分鐘後發佈一些代碼。謝謝! –