2012-05-19 7 views
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> 

크롬의 개발자 도구를 확인하면 id 및 name 속성이 올바르게 설정되어 있음을 알 수 있습니다.

여기 자바 스크립트 (jquery 사용) 값이 설정되어 있지만 알 수없는 경고 상자를 넣습니다. 이번 주에 아약스와 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를 전송하고 오류가 해당 PHP 스크립트에 값하지만 메신저와 USER_ID 시도는 명확하지 메신저. 또한 나는 같은 이름을 가진 다른 질문이 있다는 것을 알고 있지만 나는 그것을 점검했고 도움이되지 못했다.

+0

jQuery가로드되고 있는지 확인하십시오. –

답변

1

이렇게하면 game_id을 참조 할 수 없습니다. game_idout_data 개체의 인덱스입니다.

가 올바른 값을 경고하기 위해 당신은 사용해야 할 것 :

alert(out_data['game_id']); 

또한 따옴표와 함께 개체의 인덱스를 포장 권하고 싶습니다 - 그냥 좀 더 쉽게 읽을 수 있도록 -

var out_data = { 
    'game_id' : $(widget).attr('id'), 
    'user_id' : $(widget).attr('name') 
}; 
+0

그 대답은 아니지만 바로 대답을 이끌어 그래서 내가 당신이 받아 들여진 대답을 얻을 것 같아 – hugoismyname

+0

@ hugoismyname 문제가 아니었다면, 당신은 문제가 무엇인지 설명 할 수 있습니까? –

1

여기에 자바 스크립트를 넣었습니까?

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

PHP가 HTML 생성을 완료하기 전에 javascript가 실행되어야합니다.

+0

네, 잘 했어. $ (function() – hugoismyname

관련 문제