Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Ajax可以在Firefox中使用,但不能在Chrome中使用_Jquery_Json_Ajax_Google Chrome_Firefox - Fatal编程技术网

Jquery Ajax可以在Firefox中使用,但不能在Chrome中使用

Jquery Ajax可以在Firefox中使用,但不能在Chrome中使用,jquery,json,ajax,google-chrome,firefox,Jquery,Json,Ajax,Google Chrome,Firefox,在firefox中一切都很好,所有数据都返回一个值,但在chrome上,它们都是未定义的。 我试图用一个简单的字符串返回值(例如“asd”)清空我的函数,但这个返回值仍然未定义。 在wordpress上工作 $('.vote-synergy-up, .vote-synergy-down').click(function(){ var data_synergy = $(this).parent('.vote-synergy-container').attr('data-synergy');

在firefox中一切都很好,所有数据都返回一个值,但在chrome上,它们都是未定义的。 我试图用一个简单的字符串返回值(例如“asd”)清空我的函数,但这个返回值仍然未定义。 在wordpress上工作

$('.vote-synergy-up, .vote-synergy-down').click(function(){
    var data_synergy = $(this).parent('.vote-synergy-container').attr('data-synergy'); /*PK SYNERGY*/
    var VoteType = '';
    var OtherVoteType = '';

    if ($(this).hasClass('vote-synergy-up')){
        VoteType = 'Up';
        OtherVoteType = 'Down';
    }

    if ($(this).hasClass('vote-synergy-down')){
        VoteType = 'Down';
        OtherVoteType = 'Up';
    }

    // This does the ajax request
    $.ajax({
        type: "POST",
        url: omvp_ajax.ajax_url,
        dataType: 'json',
        data: {
            'action':'synergy_vote',
            'pk_Synergy' : data_synergy,
            'VoteType' : VoteType
        },
        success:function(data) {
            alert(data.Test)
        },
        error: function(errorThrown){

            alert('An error as occured');
            console.log(errorThrown);
        }
    });  
});
这是我的功能

function synergy_vote() {

if ( isset($_REQUEST) ) {
    echo json_encode(
        array(
            'Test'=>'ASD'
            )
    );
}

}尝试解析从服务器返回的JSON

success:function(data) {
    var d = $.parseJSON(data);
    alert(d.Test);
},
取代

add_action( 'wp_ajax_synergy_vote', 'synergy_vote' ); // It called from the back end


如果在成功回调函数中使用console.log(data),会记录什么?好的,首先,我不知道我必须登录,现在它工作了。你能解释一下为什么吗?似乎我的朋友即使登录也不能投票。哪里定义了
omvp\u ajax.ajax\u url
?在与函数相同的文件中,来自wordpress wp\u localize\u script的function.php('ajax script','omvp\u ajax',array('ajax\u url'=>admin\u url('admin ajax.php'));发送一个错误。SyntaxError:JSON.parse:JSON数据第1行第2列处的意外字符
add_action( 'wp_ajax_nopriv_synergy_vote', 'synergy_vote' );    // If called from front end