Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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
Php 通过AJAX查询获取多个值_Php_Jquery_Ajax - Fatal编程技术网

Php 通过AJAX查询获取多个值

Php 通过AJAX查询获取多个值,php,jquery,ajax,Php,Jquery,Ajax,嘿,伙计们,我对AJAX非常陌生,正在编写评级脚本,但我希望能够将多个值传递回我的AJAX函数: 现在,它运行一个名为ratings的php脚本,在该脚本中,它获取投票/投票的总值,并将其乘以每个开始的宽度,以获得准确的当前评级。我想做的是把投票数传回去,这样我就可以显示它们了。我知道如何通过创建另一个函数来实现这一点,但这似乎是多余的,效率不高 我的问题是,是否不仅可以传回我的评分框的宽度(值/票数*22),而且还可以传回一个查询中的总票数。如果不是更好的问题,那么在jquery中传回一个已经

嘿,伙计们,我对AJAX非常陌生,正在编写评级脚本,但我希望能够将多个值传递回我的AJAX函数:

现在,它运行一个名为ratings的php脚本,在该脚本中,它获取投票/投票的总值,并将其乘以每个开始的宽度,以获得准确的当前评级。我想做的是把投票数传回去,这样我就可以显示它们了。我知道如何通过创建另一个函数来实现这一点,但这似乎是多余的,效率不高

我的问题是,是否不仅可以传回我的评分框的宽度(值/票数*22),而且还可以传回一个查询中的总票数。如果不是更好的问题,那么在jquery中传回一个已经有投票权和值的字符串,并使用java脚本进行宽度计算会更好吗

    $(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通常会比用一种自己开发的方式在字符串中编码多个值好