PHP и JQuery's JSON - PullRequest
       3

PHP и JQuery's JSON

3 голосов
/ 02 августа 2010

Мой HTML-файл:

    <script>
    $(document).ready(function() {  
        $.ajax({
            type: "POST",
            url: "search.php",
            data: "id=1",
            datatype: "json",
            success: function(msg){
                $('.result1').html(msg["name"]);
            }
        });  
    })
    </script>   

    <span class="result1"></span>

Мой php файл:

    <?
    $a["name"] = 'john';
    echo json_encode($a);
    ?>

Почему имя Джон не появляется в классе result1? Зачем? Пожалуйста, помогите мне, я схожу с ума.

edit: Можно ли сделать щедрость прямо сейчас?

Ответы [ 3 ]

5 голосов
/ 02 августа 2010

Параметр dataType имеет заглавную букву T. Он работает, если вы исправите это.

В настоящее время он (по умолчанию) пытается угадать формат ответа по типу mime, поэтому, вероятно, по умолчаниюhtml - отладка в firebug показывает, что аргументом msg обратного вызова success является строка, содержащая JSON.

0 голосов
/ 02 августа 2010

Не отвлекает вас от решения этой проблемы. Но вы можете захотеть взглянуть на функцию .getJSON () http://api.jquery.com/jQuery.getJSON/. Немного чище, если вы просто получаете некоторые данные.

Кроме того, взгляните на формат JSON , я думаю, data: "id=1" должно быть data: "{id:1}"

Что касается ответа, имейте в виду, что он ожидает несколько записей, поэтому попробуйте: msg[0].name;, проверьте each () функцию для обработки нескольких записей.

0 голосов
/ 02 августа 2010

Я думаю, вы должны использовать:

 $('.result1').html(msg.name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...