我正在尝试定义选项的 id#,并将其声明为变量send to“action.php”,即连接到DB并插入值的文件。 HTML中包含5个id的div块:
<div class="rate">
<div id="1" class="b-1 rate-btn"></div>
<div id="2" class="b-2 rate-btn"></div>
<div id="3" class="b-3 rate-btn"></div>
<div id="4" class="b-4 rate-btn"></div>
<div id="5" class="b-5 rate-btn"></div>
</div>
anim.js拦截click事件并将变量“therate”声明为点击“id”:
$('.rate-btn').click(function(){
var therate = $(this).attr('id');
$('.rate-btn').removeClass('rate-btn-active');
for (var i = therate; i >= 0; i--) {
$('.b-'+i).addClass('rate-btn-active');
$.ajax({
type : "POST",
url : "action.php",
data : therate,
success:function(){alert(therate)}
});
};
});
上面代码的第二部分将“therate”var发送到“action.php”。但不幸的是id不=(success:function(){alert(therate)}
向我显示每个选择的id#没问题。“action.php”和“anim.js”在同一个文件夹中。我也试过“/action.php “ - 没有运气。问题是anim.js没有将”therate“发送到”action.php“。我确定这真是愚蠢和新手问题,但我不认识它=(请告诉我这个问题谢谢。
答案 0 :(得分:1)
知道脚本的php部分会有很大帮助。您可以在此决定将哪些数据返回给客户端。通常它会是这样的:
<强> PHP 强>
$therate = $_POST['therate'];
$response = array();
if(isset($therate)){
$response['status'] = 'success';
$response['therate'] = $therate;
} else {
$response['status'] = 'failure';
$response['message'] = 'Variable therate is not set.'
}
echo json_encode($response);
<强>的jQuery 强>
$.ajax({
type : "POST",
url : "action.php",
data : {'therate': therate},
success:function(data){
var o = $.parseJSON(data);
if(o.status == 'success'){
alert(o.therate);
} else {
alert(o.message);
}
}
});
注意添加了一个密钥标识符,用于我们发送给服务器的数据。这使我们可以轻松地提取后期数据服务器。另请注意&#39;数据&#39;在success函数参数中。这是从服务器返回的实际数据。您将在下面注意到我们可以轻松解析为json,因为我们将json_encode用于传回客户端的数组。
我希望这有帮助!如果您有任何问题,请告诉我。