2016-11-21 20 views
0

誰かがこのjQueryコードがうまくいかなかった理由を説明できますか?私はいつもconsole.log()を取得しています。 WebsiteData.ajax_urlアラートが正しいURLを表示します。jQuery ajaxがワードプレスで動作しない

$('.variations_form').submit(function() { 
    var html = $('#website-textarea').html(); 
    //alert(WebsiteData.ajax_url); 
    jQuery.ajax({ 
     url : WebsiteData.ajax_url, 
     type : 'post', 
     data : { 
      action : 'post_love_add_love', 
      html : html 
     }, 
     success : function(response) { 
      alert(response); 
     }, 
     error: function(response) { 
      console.log(response); 
     } 
    }); 
}); 

PHPコード:

class WebsiteIconInsertion { 

    public function __construct() { 
     add_action('wp_enqueue_scripts', array($this, 'AddStyles')); 
     add_action('wp_ajax_post_love_add_love', array($this, 'post_love_add_love')); 
     add_action('wp_ajax_nopriv_post_love_add_love', array($this, 'post_love_add_love')); 
    } 

    public function AddStyles() {   
     wp_register_script('website-icons-js', plugin_dir_url(__FILE__) . 'public/js/website-icons.js'); 
     wp_localize_script('website-icons-js', 'WebsiteData', array('ajax_url' => admin_url('admin-ajax.php'), 'file_path' => plugin_dir_url(__FILE__))); 
     wp_enqueue_script('website-icons-js'); 
    } 

    function post_love_add_love() { 
      echo "nx"; 
      die(); 
    } 
} 
+0

?他の 'error:function(jqXHR、textStatus、errorThrown)'パラメータは何を表していますか? – Justinas

+0

@Justinasは 'error'を表示します – Giedidius

答えて

0

にログインしたユーザをログアウトの両方のためのAJAXの仕事を作るために、次の2つの別々のアクション

//Actual ACTION NAME IS my_action 
//for logged in user 
add_action('wp_ajax_my_action', 'my_action_callback'); 

//for non logged in user 
add_action('wp_ajax_nopriv_my_action', 'my_action_callback'); 

を必要とする。また、AJAXのURLは、管理者に対応しなければなりませんあなたが得ることができるajax URL

wp_localize_script('ajax-script', 'ajax_object', 
      array('ajax_url' => admin_url('admin-ajax.php'), 'we_value' => 1234)); 
+0

最初の投稿にPHPコードが含まれています。私の意見では、すべてがうまく見えますが、それでも動作しません。 – Giedidius

+0

@Giedidius WebsiteData.ajax_url、 – abhirathore2006

+0

に何の価値がありますか@Giedidiusは終了してダイを置き換えてテストします – abhirathore2006

0
また

add_action('wp_ajax_post_love_add_love', 'your_custom_ajax_callback'); //for logged users 

add_action('wp_ajax_nopriv_post_love_add_love', 'your_custom_ajax_callback'); //for anon users, note that I| added same callback, but you can change it if differs for logged in and anonymous users 

admin_url('admin-ajax.php'); メイク

ダブル管理AjaxのURLは(BeewoodData.ajax_urlの値)が正しいことを確認し、PHPの機能から作成は確かにあなたは、データ・オブジェクト(post_love_add_love)で定義されたアクションに応じて、バックエンドでアクションを追加しましたfunction your_custom_ajax_callbackの最後の行の末尾がdie()であることを確認してください。そうでないと、json_outputやその他の応答が無効になり、WordPressの他の出力が添付されます。

function your_custom_ajax_callback() { 

//do your custom code 
echo json_encode($output); 
die(); 

} 
+0

ヘッダーを設定するのを忘れないでくださいJSONで返信する場合も –

+0

最初の投稿にPHPコードが含まれています。私の意見では、すべてがうまく見えますが、それでも動作しません。 – Giedidius

0
jQuery('.variations_form').submit(function() { 
     var html = jQuery('#website-textarea').html(); 
     var ajaxurl = 'https://example.com/wp-admin/admin-ajax.php'; 
     jQuery.ajax({ 
      url : ajaxurl , 
      type : 'post', 
      data : { 
       action : 'post_love_add_love', 
       html : html 
      }, 
      success : function(response) { 
       alert(response); 
      }, 
      error: function(response) { 
       console.log(response); 
      } 
     }); 
    }); 
+0

同じ結果、コンソールでエラーが発生しました – Giedidius

+0

ペーストエラー –

0

してみてくださいあなたは何を得るの応答状況この

<script> 
    jQuery(document).ready(function() { 
    jQuery(".remove_compare").click(function() { 
     var current_att=jQuery(this); 
     jQuery.ajax({ 
       url: "<?php echo admin_url('admin-ajax.php'); ?>", 
       type: 'POST', 
       data: { 
        action: 'remove_to_compare', 
        user_id:jQuery(this).attr("user_id"),  
        }, 
       success: function(response) { 
        //code 
       } 

     }); 
    }); 
}); 
</script> 

add_action('wp_ajax_remove_to_compare', 'remove_to_compare');  
add_action('wp_ajax_nopriv_remove_to_compare', 'remove_to_compare'); 
function add_to_compare(){ 
      //coading…. 
} 
関連する問題