0

jqueryとajaxを使用していくつかの変数を渡そうとしていますが、何らかの理由で機能しません。これがコードです。

<div id=' . $result['game_id'] . ' name="' . $user_id . '"  class="rate_widget" >
            <div class="star_1 ratings_stars"></div>
            <div class="star_2 ratings_stars"></div>
            <div class="star_3 ratings_stars"></div>
            <div class="star_4 ratings_stars"></div>
            <div class="star_5 ratings_stars"></div>
            <div class="total_votes">vote data</div>
        </div>

Chromeの開発者ツールを確認すると、id属性とname属性が正しく設定されていることがわかります。

これがjavascript(jqueryを使用)です。値が設定されているかどうかを確認するためにアラートボックスを配置しましたが、未定義になります。今週、ajaxとjqueryの学習を始めたばかりです。助けていただければ幸いです。

$('.rate_widget').each(function() {
        var widget = this;
        var out_data = {
            game_id : $(widget).attr('id'),
            user_id : $(widget).attr('name')
        };
        alert(game_id);
        $.post(
            'ratings.php',
            out_data,
            function(INFO) {
                $(widget).data( 'fsr', INFO );
                set_votes(widget);
            },
            'json'
        );

明確でない場合は、対応する値を持つgame_idとuser_idをphpスクリプトに送信しようとしますが、エラーが発生します。また、同じ名前の別の質問があることも知っていますが、それを確認しましたが、役に立ちませんでした。

4

2 に答える 2

1

この中にJavaScriptを入れましたか?

$( document ).ready( function(){
     // .. your code
})

phpがhtmlの生成を完了する前に、javascriptが実行されている必要があります。

于 2012-05-19T20:13:31.017 に答える
1

そのように参照することはできませんgame_id。 オブジェクトgame_idのインデックスです。out_data

正しい値を警告するには、以下を使用する必要があります。

alert(out_data['game_id']);

また、オブジェクトのインデックスを引用符で囲むことをお勧めします-もう少し読みやすくするためです-

var out_data = {
  'game_id' : $(widget).attr('id'),
  'user_id' : $(widget).attr('name')
};
于 2012-05-19T19:28:33.377 に答える