2017-09-10 8 views
0

ボタンを押すたびに画像をランダム化するようにフロントエンドのAjaxコールを設定しました。Wordpress Ajaxリクエストはクロムで0を返し、FFで正常に動作します

のfunctions.php

define("AJAX_URL", admin_url('admin-ajax.php')); 

add_action("wp_enqueue_scripts", "enqueue_eyewebz_scripts"); 
function enqueue_eyewebz_scripts() 
{ 
    wp_enqueue_script("jquery"); 
    ... 
    wp_enqueue_script("root-js", JS_URL . "/root.js", array("jquery")); 

    $script_params = array(
     'ajax_url'    => AJAX_URL 
    ); 
    wp_localize_script('root-js', 'theme_vars', $script_params); 
} 

root.js

function parallax_randomize(e) 
{ 
    var data = { 
     'action': 'randomize_parallax', 
     'dataType': 'json' 
    }; 
    console.log(theme_vars.ajax_url); 
    jQuery.post(theme_vars.ajax_url, data, function(response) { 
     console.log(response); 
     var dynb = JSON.parse(response); 

     jQuery('#front-location span').html(dynb.location); 

     jQuery('.parallax-slider').fadeOut('fast', function() { 
      jQuery('.parallax-slider').attr('src', dynb.url); 
      jQuery('.parallax-slider').fadeIn('fast'); 
     }); 
    }); 
} 

ダイナミック背景コールバック

class Dynb 
{ 
    function Dynb() 
    { 
     ... 

     $this->set_up_ajax(); 

     ... 
    } 

    public function set_up_ajax() 
    { 
     add_action('wp_ajax_randomize_parallax', array($this, 'randomize_parallax')); 
    } 

    public function randomize_parallax() 
    { 
     $data = set_dynamic_background(true); 
     echo json_encode($data); 

     wp_die(); 
    } 
} 
new Dynb(); 
を次のように私はそれを設定しました

Firefoxでは、これはうまくいきますが、ChromeではJS Ajax呼び出しが0を返します。私の人生で問題が何であるか把握できません。誰でも?

+0

no_privが修正されました。その機能が存在することさえ知りませんでした!ありがとう!!これを答えとして追加しておきます:) –

+0

wp_die()の代わりにexistを使用します。 –

+0

exit()はwp_die()と何が違うのですか? :) –

答えて

0

randomize_parallax()関数でexit()を追加すると、問題が解決すると思います。

+0

それはそれを修正しなかった:)それは問題を解決したno_privだった:) –

関連する問題