2009-06-27 9 views
0

を介して複数の値を取得します。評価と呼ばれるPHPスクリプトを実行します。そこでは、投票/投票の合計値を取得し、正確な現在の評価を取得するために各開始幅を乗算します。私がしたいことは、投票数を戻して表示することです。私は別の機能を作ってこれをどうやってやることができるのか知っていますが、それは冗長で非常に効率的ではありませんはやあみんな、私は非常にAJAXに新しい、と評価スクリプトに取り組んでいますが、私は戻って私のAjaxの機能に複数の値を渡すことができるようにしたいAJAXクエリ

私の質問は、私のレーティングボックスの幅(値/票* 22)だけでなく、1つのクエリの合計投票数を返すことができるかどうかです。それよりも良い質問があれば、既に投票数が&の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"); 
    } 

}); 
} 

ありがとう!

答えて

3

はい、両方の値を返すことができます。テキストの代わりにjson_encodeを使用してJSONを送信してください。あなたは1つのコールバックで複数の値をパスバックに苦労している場合

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

}); 
} 
+0

パーフェクト。どうもありがとう! – askon

1

あなたは、サーバー側でそれを分割値わたってるしき(#のような、何かあなたが使用するつもりはない)のランダムな文字を挿入してみてください。例えば。助けクライアント側

...

var callback = value1##value2##value3; 

サーバーサイド...

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

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

希望...

+0

私は、JSONを使用すると、文字列内の多くの値をコード化する自家製の方法 – Jonik

1

幅が導き出された値基づいているので投票数で、私は投票数を渡し、Javascriptで数学を行います。

関連する問題