jquery
  • ajax
  • arrays
  • each
  • .post
  • 2012-01-21 4 views 1 likes 
    1

    저는이 방법을 사용하기 위해 하루 정도 기다려 왔습니다.jQuery .each() 및 jQuery. post()

    jQuery .each() 함수를 사용하여 주어진 배열의 각 요소에 대해 작업을 수행하려고합니다.

    배열이는 PHP 파일 정직

    $get_convos = mysql_query("SELECT status, partner_user_id FROM chat_convos WHERE user_id = '$user_id'"); 
    $following_user_id = ''; 
    $uids = array(); 
    while($row = mysql_fetch_assoc($get_convos)){ 
        array_push($uids, $row['partner_user_id']); 
    } 
    $following_user_id = implode(',', $uids); 
    echo "[$following_user_id]"; 
    

    내가 돈을입니다 load_convos.php

    배열은 PHP 파일을 통해이 형식 [56,98.24,46] 반환된다

    $(document).ready(function() { 
    $.post("assets/scripts/chat/load_convos.php",{}, function(data) { 
    
    //perform the .each() function 
    
    }); 
    
    }) 
    

    .post() 요청에서 온다 내가 뭘 잘못하고 있는지 보지마 ...

    ======== 편집 ==========

    이 내가

    $.each(data, function(value) { 
        alert(value); 
    }); 
    
    +0

    어떻게 사용하나요? –

    +1

    물론 원래 게시물에서 수정 한 내용을 확인하십시오. – Frank

    +0

    PHP 코드에는 머리가 없으므로 PHP 코드에도 잘못된 코드가 있습니다. 어쨌든 function (value) 대신 function (index, value)을 사용해야합니다. –

    답변

    4

    변화 당신의 PHP 스크립트의 마지막 두 행으로 지금까지 한 일이다

    echo json_encode($uids); 
    

    와 jQuery를에

    - 대신, $.each를 사용하여 당신은 또한 응답을 처리하도록하기 위해 $.post에 네 번째 매개 변수를 추가 할 수 있습니다 (수신 한 데이터에 루프 정기적를 사용하려고의 JSON)

    $(document).ready(function() { 
        $.post("assets/scripts/chat/load_convos.php",{}, function(data) { 
         for(var i in data){ 
         //console.log(i+":"+data[i]); 
         alert(data[i]); 
         } 
        },"json"); 
    }) 
    
    +0

    배열의 각 번호에'경고 (데이터)'를 어떻게합니까? – Frank

    +1

    'console.log (i + ":"+ data [i]) "를'alert (data [i]);로 바꾼다 내 편집 된 코드를 보아라. –

    1

    Yaron의 제안에 따라 PHP 코드를 변경할 필요가 없습니다. jquery 코드를 조금만 바꿀 수 있습니다 :

    $.each(data, function(index, value) { 
        alert(value); 
    }); 
    

    여기에서 실제로 동작하는 것을보십시오. http://jsfiddle.net/2KZvt/1/

    관련 문제