我有一些麻煩與IE瀏覽器,我希望最後這個網站...餅乾Ajax請求,但響應之前設置使用舊cookie的IE
所以,我用WordPress的工作,我有一對夫婦受保護的帖子。 我必須使用的模板(由代理機構選擇)加載所有帖子在同一頁面,並與數千張圖片,這不是一個好主意。所以我選擇當訪問者點擊它的項目時用ajax加載頁面。
因此,在密碼錶單的相同想法中,他們使用Ajax提交。 在我的請求之前,我爲頁面的id設置了一個cookie'pageloaded',以知道哪個帖子顯示在響應頁面(一個頁面包含所有帖子,因此只是想生成受保護的帖子)。
當我轉到一個頁面時,Ajax發送一個post變量,但是使用表單,我不能因爲wp-login.php(表單的動作頁面)重定向到前一頁面,所以我輸了帖子變量。然後我有想法使用cookie!那麼,它除了IE瀏覽器在所有瀏覽器的偉大工程:/
var pageloaded = form.find('input[name="pageloaded"]').val();
$.cookie('wp_pageloaded', null);
$.cookie('wp_pageloaded',pageloaded, { path: '/' });
var permalink = form.attr('action');
var newurl = permalink;
$.ajax({
type: 'post',
headers: {
"Cache-Control":"no-cache",
"Expires": "Mon, 26 Jul 1997 05:00:00 GMT" },
url:newurl,
data:{
post_password: post_password,
pageloaded: pageloaded
},
success:function(data, textStatus, jqXHR){
var container_loaded = $(data).find('#'+pageloaded+' .the-content');
$(container).html($(container_loaded).html());
var formNew = $(container).find('form');
$(formNew).submit(function(event) {
checkpassword(event);
});
}
});
什麼是完全IE反應: 他存儲的第一種形式的餅乾,所以第一個要求是罰款。 對於第二個請求,cookie仍然是第一個。
我重新加載頁面,這次cookie被設置爲第二個表單變量,並且第一個被忽略,依此類推......最後發送的表單設置頁面刷新(手動)時的下一個變量。
看起來像IE設置以及cookie的,但讀舊的Ajax請求:/
感謝您的幫助;)
編輯:我試着先在一個請求一個php文件,它做一個setcookie(),然後在最終文件上有一個ajax請求,但仍然是同樣的問題:/我會嘗試與會話,但我想知道什麼是錯誤的與IE瀏覽器:/