jQuery ajax调用只有在逐步调试时才有效

时间:2015-03-14 01:07:13

标签: php jquery ajax wordpress wordpress-plugin

        $('.single_add_to_cart_button').click(function() {
           $.ajax({
           type: "POST",
           url: script_e.ajaxurl, //url loaded from the plugin 
           data: {id:test},
           cache: false,
           success:  function(data){
            alert(data);
           }
          });      
        });

   //php

   public function enqueue_scripts(){
      wp_enqueue_script( 'e_jquery', plugin_dir_url( __FILE__ ).'../assets/js/script_e.js' );
      wp_localize_script( 'e_jquery', 'script_e',
            array( 
              'ajaxurl' =>  plugin_dir_url( __FILE__ ).'event-capture.php'  ,
            )
      );
   }

   add_action( 'wp_enqueue_scripts', array($this,'enqueue_scripts') );

当我点击按钮时,我试图在PHP脚本中传递一些变量,php脚本位于插件中。

只有这样才有效,如果我在firebug中逐步调试,则传递值,否则失败。

1 个答案:

答案 0 :(得分:1)

在ajax调用之后基本上添加event.preventDefault();

像这样,

$('.single_add_to_cart_button').click(function(event) {
  $.ajax({
    type: "POST",
    url: script_e.ajaxurl, //url loaded from the plugin 
    data: {id:test},
    cache: false,
    success:  function(data){
      alert(data);
    }
  });
  event.preventDefault();      
});