Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Вопрос по json (https://javascript.ru/forum/jquery/22737-vopros-po-json.html)

spahi4 31.10.2011 16:59

Вопрос по json
 
Вот начал осваивать jquery. Столкнулся с проблемой:
Неработает код.
Надо получить данные из json. Вот они:
{"auth":1,"voiced":1,"voice":"1","like":"1","dislike":"0"}


А вот код:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
 $.getJSON("http://site.ru/like_result.php?siteid=0&url="+window.location.path,function(data){
 $("#l").html("Лайков: "+data.like+", дислайков: "+data.dislike");
 });
 </script>


 <div id='l'></div>


Где ошибка?

Black_Prince 31.10.2011 18:29

1. {"auth":"1","voiced":"1","voice":"1","like":"1","d islike":"0"} - все значения и ключи в кавычки поместите (ну это так, на всякий случай)

2. проверьте точно урл: "http://site.ru/like_result.php?siteid=0&url="+window.location.pat h - точно ли он вам возвращает именно тот json.

3. проверьте точно наличие элемента: $("#l")

4. возможно дата приходит все таки просто строкой - тогда преобразуйте ее в json формат: jQuery.parseJSON( data )

spahi4 31.10.2011 19:19

Вот html код, по-прежнему нерабочий:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html><head>

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>

<script type=text/javascript>
$(document).ready(function(){
 $.getJSON("http://site.ru/like_result.php?siteid=0&url="+window.location.path,function(data){
 var json = $.parseJSON(data);
 $("#l").html("Лайков: "+json.like+", дислайков: "+json.dislike);
});
});
</script>
 <p id='l'></p>
</html>

FINoM 01.11.2011 04:49

Причина проста: браузер запрещает брать данные с другого домена. Прочтите эту статью: http://javascript.ru/ajax/cross-domain-scripting
Но там не описан JSONP (только вскользь упомянутый транспорт через script), поищите эту информацию сами.

spahi4 01.11.2011 12:08

Так домен-то один и тот же

spahi4 01.11.2011 12:15

В консоли пишет невозможно конвертировать var json о объект

spahi4 01.11.2011 23:05

Вроде разобрался. Можете подсказать материал по JSONP или другим способам кроссдоменного аякса?


Часовой пояс GMT +3, время: 16:26.