我的Wordpress中有一个功能可以重新生成Google Map。 我想要实现的是从我的WP获取一些标记,然后将它们添加到DIV并再次从它们生成地图。
使用带有魔术名称的简单函数重新生成I" regenerate_map()" :)。
jQuery(".gmaps-button").click(function(){
jQuery.ajax({
type: "POST",
//contentType: "application/json; charset=utf-8",
dataType: "text",
url: myAjax.ajaxurl,
data : {action: "jv_get_map_data", ids : 1},
//data: dataString,
action: 'jv_get_map_data',
beforeSend: function() {
//jQuery('#contact-form #err2').html('').hide();
//jQuery(".submit").html("proszę czekać").addClass('loading');
},
success: function(text) {
jQuery('#gmaps-markers').html(text);
console.log(text);
regenerate_map();
}
});
return false;
});
主要问题是函数regenerate_map()不起作用。 我得到" ReferenceError:没有定义regenerate_map"。 这不是真的,因为,我有其他按钮,它是click()的触发器,它也使用此功能,它可以工作。
我认为在AJAX请求中执行其他函数有问题,但是console.log和alert()可以正常工作。
我认为这个问题可能与我得到的问题一致" text"但我已经检查过,即使我什么都没得到,也存在问题。
也许有些安全问题?
有人可以告诉我为什么以及如何做到我需要的东西?
答案 0 :(得分:0)
你的regenerate_map()
功能应该是这样的。
<script>
jQuery(document).ready(function() {
jQuery("#p_button").click ( function () {
console.log("button got clicked");
var donor_data= [ "12","13","14" ];
var damount = 1234;
var donor_obj = {
id : donor_data,
amnt : damount,
};
jQuery.ajax({
type:"POST",
//dataType : "json",
url: "<?php echo admin_url( 'admin-ajax.php' );?>",
data: { action : "ajx_add_donations",
'donors' : JSON.stringify(donor_obj),
},
success:function(response){
console.log("success " ,response);
//console.log("success " + JSON.parse(response));
//jQuery("#d_amount").val(donor_data[0]);
//jQuery("#p_button").text("brrr");
regenerate_map();
},
error: function(response) {
console.log("error" + response);
},
});
});
});
function regenerate_map(){
alert("test");
}
</script>