AJAX sorgusu ile birden çok değer alın

3 Cevap php

Hey guys, ben çok AJAX yeni ve ve bir derecelendirme senaryo üzerinde çalışıyor, ama ben geri benim ajax işlevi birden fazla değer geçmek mümkün istiyorum:

Şu anda o oy / oy toplam değerini alır ve her genişliği çarpar doğru bir akım rating almaya başlar değerlendirme denilen bir php komut dosyası, bir çalışır. Ne yapmak istiyorum ben onları görüntülemek böylece oyların miktarı geri pas da. Ben başka bir işlev yaparak bunu nasıl biliyorum ama bu gereksiz ve çok etkili değil gibi görünüyor.

Benim soru ise, bu 1 sorguda geri değerlendirmesi kutusu genişliği (değer / oy 22 *), ama aynı zamanda oyların toplam # sadece geçmek mümkündür. Değil iyi bir soru zaten oy vardır & jquery bir dize geri geçmek için daha iyi olurdu değeri ve java script ile genişliği hesaplama yapmak?

    $(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");
    }

});
}

Teşekkürler!

3 Cevap

Evet geri hem değerleri geçebilir. Sadece json_encode yerine metin kullanarak JSON göndermek.

$(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");
    }

});
}

Sizin mücadeleci bir geri arama birden fazla değer passback için Eğer değerler daha sonra sunucu tarafında bölünmüş inbetween (a # gibi, sizin kullanmak olacak şey değil) rastgele bir karakter ekleyerek deneyebilirsiniz. Örneğin,.

Client Side...

var callback = value1##value2##value3;

Server Side...

$values = split($callback, "##");

$value1 = $values[0];
$value2 = $values[1];

Umarım ki olur ...

Genişliği oy sayısına göre türetilmiş bir değer olduğundan, oy sayısını geçmek ve JavaScript matematik yapardı.