0
我想知道我的代碼有什麼問題?這只是不正確。語法對我來說很好 - 基本上,如果在加載的頁面上存在名爲「map_canvas」的div,則應調用名爲initialize_google_maps的函數。jquery - ajax代碼行爲不正確
但是即使map_canvas div在頁面上不存在,有時也會調用initialize_google_maps函數。更具體地說 - 即使沒有map_canvas存在,它始終被稱爲第一次單擊鏈接,然後它的行爲正確。
$(document).on("ready", function(){
console.log('load ajax when document starts');
var ajax_loaded = (function(response) {
$(".page-content")
.html($(response).filter(".page-content"));
$(".page-content .ajax").on("click",ajax_load);
});
//the function below is called by links that are described with the class 'ajax', or are in the div 'menu'
var history = [];
var current_url_method;
var ajax_load = (function(e) {
console.log('load ajax on clicks');
e.preventDefault();
history.push(this);
var url =$(this).attr("href");
var method = $(this).attr("data-method");
if (current_url_method != url + method) {
console.log('url + method');
current_url_method = url + method;
$.ajax({
"url": url,
"type": method,
"success": ajax_loaded,
});
}
if ($("#map_canvas").length > 0)
{
console.log('ajax 2 - map_canvas is detected');
initialize_google_maps();
}
});
$("#menu a").on("click",ajax_load);
$(".ajax").on("click",ajax_load);
$("#menu a.main").trigger("click");
$(".search-box form").on("submit", form_submit);
});
最好在'});' – idmean 2013-05-05 13:14:18
之前去掉','''''''''''''''''' – QFDev 2013-05-05 13:17:02
謝謝!實際上,我花了DAYS試圖解決ajax問題 - 太麻煩了,無法擺在這裏。我認爲這是難題的一大部分。 – CHarris 2013-05-05 13:21:39