Как получить элемент массива в JQuery из PHP - PullRequest
1 голос
/ 09 августа 2011

Я хочу отправить массив из php в jquery, используя json. массив получен, но у меня есть проблема, чтобы взять элементы из массива.

Я сделал это:

<?php
    $result[0] = 1;
    $result[1] = 6;
    echo json_encode($result);
?>

<script type="text/javascript">
$("#saveOrder").click(function(){           
    var customerName = $('input#customerName').val();
    var param = {"customerName":customerName,"action":"addOrder"};
    $.ajax({
            url: "controllers/Order.controller.php",  
            type: "POST",     
            data: param,                
            cache: false,       
            success: function (result) {        
        alert("result"+result);
        $.each(result,function(i,elem){
            alert(i+"_"+elem); 
        });

        var suc = result[0];
        alert("suc"+suc);
        var orderId = result[1];
        alert("id"+orderId);
                if (suc==1) {     
                    $('#resultMsg').text("success");  

                } else {              
            $('#resultMsg').text("error");  
        }
            }       
        });
        });
</script>

когда я перебираю массив, он отображает странные элементы!

first,second, third and forth 
       loops : display nothing
fifth loop   : display [
sixth loop   : display 1
seventh loop : display ,
eighth loop  : display 6
ninth loop   : display ]

как я могу получить элементы?

Ответы [ 3 ]

3 голосов
/ 09 августа 2011

Результатом является строка JSON.Используйте JSON.parse, чтобы получить массив.

0 голосов
/ 09 августа 2011

Вы не установили параметр dataType, выполните следующие действия:

dataType: "json"
0 голосов
/ 09 августа 2011

Внутри вашего вызова AJAX попробуйте добавить dataType: "json" или вы можете использовать JSON.parse (result), чтобы получить объект JSON из вашего результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...