Попытка заставить этот простой Jquery.parseJson работать без успеха - PullRequest
0 голосов
/ 28 декабря 2010

Я пытаюсь заставить этот Jquery.parseJson работать безуспешно.

<input type="text" id="query" /><button>search</button><br />
<div id="results">

</div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
 $('button').click(function(){
  $("#query").val(); // Do nothing with this value
  $.getJSON('{"name":"John"}',function(json){
   $.each(json.results,function(i,obj){
      $("#results").append('<p>' + obj.name + '</p>');
   });
  });
 });
});
</script>

Этот код предназначен для отображения имени "Джон" в результатах div.

Может кто-нибудь подсказать мне, что я делаю не так?

С наилучшими пожеланиями,

Ответы [ 3 ]

2 голосов
/ 28 декабря 2010

$.getJSON() предназначен для получения JSON с URL-адреса , вам просто нужно $.parseJSON() при работе с уже имеющейся строкой, например:

$('button').click(function(){
  $("#query").val(); // Do nothing with this value
  var obj = $.parseJSON('{"name":"John"}');
  $("#results").append('<p>' + obj.name + '</p>');
});
0 голосов
/ 28 декабря 2010

Вы можете использовать «eval» для преобразования строк в объекты JSON. Помните, что строки должны быть заключены в квадратные скобки, чтобы их не распознавали как помеченное выражение.

    <input type="text" id="query" /><button>search</button><br />
    <div id="results">

    </div>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $('button').click(function(){
                $("#query").val(); // Do nothing with this value
                var json = eval('({"name":"John"})');
                $("#results").append('<p>' + json.name + '</p>');
                // $.getJSON('{"name":"John"}',function(json){
                //     $.each(json.results,function(i,obj){
                //         $("#results").append('<p>' + obj.name + '</p>');
                //     });
                // });
            });
        });
0 голосов
/ 28 декабря 2010

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

Затем проверьте json

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