Jquery Ajax可以在Firefox中使用,但不能在Chrome中使用
在firefox中一切都很好,所有数据都返回一个值,但在chrome上,它们都是未定义的。 我试图用一个简单的字符串返回值(例如“asd”)清空我的函数,但这个返回值仍然未定义。 在wordpress上工作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');
$('.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