我試了幾個小時纔得到這段代碼的工作,它應該加載與類內容的div,並通過ajax替換當前頁.content。這是一個動態網站,所以我需要它處理所有非出站鏈接。使用jQuery AJAX中的未知錯誤
$("a:not([href^='http://']), a[href^='http://www.example.com'], a[href^='http://example.com']").click(function (event) {
event.preventDefault();
var addressValue = $(this).attr("href");
page = addressValue.replace(/https?:\/\/[^\/]+/i, "");
pagecontent = page+" .content";
$(".content").load(pagecontent);
$.ajax({
url: page,
async: true,
success: function(data) {
var matches = data.match(/<title>(.*?)<\/title>/);
var spUrlTitle = matches[1];
document.title = spUrlTitle;
},
});
});
我已經系統地將錯誤縮小到下面的代碼片段。 (一切事先工作沒有它)
pagecontent = page+" .content";
$(".content").load(pagecontent);
$.ajax({
url: page,
async: true,
success: function(data) {
var matches = data.match(/<title>(.*?)<\/title>/);
var spUrlTitle = matches[1];
document.title = spUrlTitle;
},
});
從進一步分析中,我已確定,該誤差是點擊不具有HTTP鏈接時引起的://
page = addressValue.replace(/https?:\/\/[^\/]+/i, "");
上面的代碼線不能運行,因爲沒有http://
我不確定我要如何解決這個問題,但至少我已經縮小了範圍。
這是什麼問題?請求是否轉到正確的網址?嘗試添加錯誤處理程序並記錄錯誤(如果有的話)。 – Boklucius
你的選擇是錯誤的! –
錯誤是沒有任何反應,鏈接如常。 請解釋我的選擇器是如何錯誤的。 :) –