2017-11-21 28 views
0

Googleマップを再生成する私のWordpressの機能があります。 私が達成したいのは、私のWPからいくつかのマーカーを取得し、それらをDIVに追加し、それらから再び生成することです。WPでのAJAX成功のためのjavascript関数の実行

再生のために私は "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が定義されていません」というメッセージが表示されます。 これはtrueではありません。なぜなら、私はclick()のトリガーである他のボタンも持っており、この関数も使用しています。

AJAXリクエストで他の機能を実行すると間違っていると思いますが、console.logとalert()は機能します。

私は「テキスト」として得られるものに問題があると思っていましたが、何も得られなくても問題が存在することを確認しました。

多分セキュリティ上の問題がありますか?

誰かが私に必要なものを達成するためになぜ、何をすべきか教えてもらえますか?

+2

ここで 'regenerate_map()'は定義されていますか? AJAXの結果ハンドラで呼び出すと、範囲外になっている可能性があります。あなたはどのGoogle Mapsライブラリを使用していますか? –

答えて

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> 
+0

これは同じです、私はすでにそれを理解しました。私はonsuccessを実行したいjavascript関数へのアクセスに問題がありました。 –

関連する問題