JSON jQuery PHP - PullRequest
       18

JSON jQuery PHP

0 голосов
/ 06 декабря 2009

Я не понимаю одну вещь. Если я хочу получить данные JSON (пары ключ-значение) из PHP в jQuery с использованием Ajax, что из следующих я должен использовать?

  • $.get
  • $.post
  • $.getJSON

Нужно ли использовать getJSON, если я хочу использовать json_encode в файле PHP? Но что, если я хочу отправить с постом (нет postJSON)?

И еще одна вещь:

В PHP-файле я написал:

<?php
    if($_GET['value'] == "value")
    {
        $array['firstname'] = 'Johnny';
        $jsonstring=json_encode($array);
        return $jsonstring;
    }
?>

В файле jQuery:

  $.getJSON("php.php", {value: "value"}, function(data){
      alert(data.firstname);
  });

Почему это не работает?

Ответы [ 3 ]

3 голосов
/ 06 декабря 2009

Проблема заключается в строке в PHP:

return $jsonstring;

Вы должны повторить это вместо:

echo $jsonstring;

Что касается метода jQuery, я предлагаю $.getJSON(), если вы можете вернуть чистую строку json. Это действительно зависит от того, как вы его используете.

При использовании $.getJSON() файл вашего сервера должен возвращать строку JSON. Таким образом, отображение строки, возвращаемой json_encode(), было бы целесообразно для метода $.getJSON(), чтобы получить в ответе.

0 голосов
/ 06 декабря 2009

Я всегда использую $ .ajax.

$.ajax({
     url: "script.php",
     type: "POST",
     data: { name : "John Doe" },
     dataType: 'json',
     success: function(msg){
        alert(msg);
     }
});

в PHP:

$name = $_POST['name']
echo $name

это предупредит "Джон Доу"

также, если он не работает, используйте firebug, чтобы увидеть значения, передаваемые.

0 голосов
/ 06 декабря 2009

Вы можете использовать .ajax, это позволяет вам делать get и post.

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