Php 通过AJAX查询获取多个值
嘿,伙计们,我对AJAX非常陌生,正在编写评级脚本,但我希望能够将多个值传递回我的AJAX函数: 现在,它运行一个名为ratings的php脚本,在该脚本中,它获取投票/投票的总值,并将其乘以每个开始的宽度,以获得准确的当前评级。我想做的是把投票数传回去,这样我就可以显示它们了。我知道如何通过创建另一个函数来实现这一点,但这似乎是多余的,效率不高 我的问题是,是否不仅可以传回我的评分框的宽度(值/票数*22),而且还可以传回一个查询中的总票数。如果不是更好的问题,那么在jquery中传回一个已经有投票权和值的字符串,并使用java脚本进行宽度计算会更好吗Php 通过AJAX查询获取多个值,php,jquery,ajax,Php,Jquery,Ajax,嘿,伙计们,我对AJAX非常陌生,正在编写评级脚本,但我希望能够将多个值传递回我的AJAX函数: 现在,它运行一个名为ratings的php脚本,在该脚本中,它获取投票/投票的总值,并将其乘以每个开始的宽度,以获得准确的当前评级。我想做的是把投票数传回去,这样我就可以显示它们了。我知道如何通过创建另一个函数来实现这一点,但这似乎是多余的,效率不高 我的问题是,是否不仅可以传回我的评分框的宽度(值/票数*22),而且还可以传回一个查询中的总票数。如果不是更好的问题,那么在jquery中传回一个已经
$(document).ready(function() {
getRating();
function getRating(){
$.ajax({
type: "GET",
url: "../includes/rating.php",
data: "action=get&bookid="+$("#current").attr("value"),
cache: false,
async: false,
success: function($rating) {
$("#current").css({ width: "" + $rating });
},
error: function(result) {
alert("Error");
}
});
}
谢谢 是的,您可以传回这两个值。只需使用JSON而不是文本发送
$(document).ready(function() {
getRating();
function getRating(){
$.ajax({
type: "GET",
dataType: 'json',
url: "../includes/rating.php",
data: "action=get&bookid="+$("#current").attr("value"),
cache: false,
async: false,
success: function(data) {
$("#current").css({ width: "" + data.rating });
$("#votes").html(data.votes);
},
error: function(result) {
alert("Error");
}
});
}
是的,您可以传回这两个值。只需使用JSON而不是文本发送
$(document).ready(function() {
getRating();
function getRating(){
$.ajax({
type: "GET",
dataType: 'json',
url: "../includes/rating.php",
data: "action=get&bookid="+$("#current").attr("value"),
cache: false,
async: false,
success: function(data) {
$("#current").css({ width: "" + data.rating });
$("#votes").html(data.votes);
},
error: function(result) {
alert("Error");
}
});
}
如果您试图在一个回调中传回多个值,您可以尝试在值之间插入一个随机字符(如#,您不打算使用的字符),然后在服务器端拆分它。比如说 客户端…
var callback = value1##value2##value3;
$values = split($callback, "##");
$value1 = $values[0];
$value2 = $values[1];
服务器端…
var callback = value1##value2##value3;
$values = split($callback, "##");
$value1 = $values[0];
$value2 = $values[1];
希望这能有所帮助……如果您在一次回调中难以回传多个值,您可以尝试在值之间插入一个随机字符(如#,您不打算使用的字符),然后在服务器端拆分它。比如说 客户端…
var callback = value1##value2##value3;
$values = split($callback, "##");
$value1 = $values[0];
$value2 = $values[1];
服务器端…
var callback = value1##value2##value3;
$values = split($callback, "##");
$value1 = $values[0];
$value2 = $values[1];
希望这有帮助…因为宽度是基于投票数的派生值,我会通过投票数并用Javascript进行计算。因为宽度是基于投票数的派生值,我会通过投票数,然后用Javascript进行计算。我认为使用JSON通常会比用一种自己开发的方式在字符串中编码多个值好。我认为使用JSON通常会比用一种自己开发的方式在字符串中编码多个值好