Используя jQuery для получения json данных возвращает недопустимую ошибку маркировки

Также знайте что, удаляя указатель базового класса, когда нет никакого виртуального деструктора, приведет к неопределенное поведение . Что-то, что я изучил просто недавно:

, Как должен, переопределяя, удаляют в C++, ведут себя?

я использовал C++ в течение многих лет, и мне все еще удается подвесить меня.

9
задан brendan 5 August 2009 в 02:52
поделиться

4 ответа

Я нашел ответ ... похоже, что kiva не поддерживает jsonp, что здесь делает jquery -

http://groups.google.com/group/build-kiva/browse_thread/thread/ 9e9f9d5df821ff8c

... у нас нет планов по поддержке JSONP. Поддержка этого защищает бедных методы безопасности и есть уже есть несколько хороших способов доступа к данные из JavaScript, которые защищают ваши приложение и ваши пользователи. Вот отличная статья на эту тему:

http://yuiblog.com/blog/2007/04/10/json-and-browser-security/

Хотя риск для кредиторов Kiva низкий теперь, поскольку мы имеем дело только с общедоступные данные, позволяющие частному кредитору данные для импорта через теги скрипта риск в будущем. Наши мысль - это риск (и сложность добавлен для создания безопасных приложений) не стоит пользы разработчиков.

Написание прокси на стороне сервера для корма, которые вам нужны, самые распространенные решение для доступа к данным в браузерные приложения. Некоторые другие уловки существуют с использованием iFrames. В лучшая надежда - это новое поколение клиентов - основанные на технологиях / стандартах, которые будут разрешить доступ к JavaScript через браузер безопасные междоменные ресурсы ( http://dev.w3.org/2006/waf/access-control/ http://json.org/JSONRequest.html ). Некоторые инструменты, такие как BrowserPlus и Gears позволь тебе поиграть с ними сегодня, но ты не сможет зависеть от них в

В заключение отмечу, что любой, кто использует ответы JSON в JavaScript должен либо анализировать JSON явно или проверить JSON перед взяв на него eval (). См. Здесь:

http://www.JSON.org/js.html

Ссылка со страницы - отличная эталонная реализация предлагаемый парсер ECMAScript JSON interface, JSON.parse ().

Ура, skylar

5
ответ дан 4 December 2019 в 21:50
поделиться

Где возникает ошибка? Возникает ли ошибка, когда вы пытаетесь перебрать данные ajax и добавить их в inner_div? Если да, покажите нам, как выглядит data.loans.

Кроме того, в вашем коде есть опечатка:

            jQuery.each(data.loans, function(i, loan){
                    jQuery("#inner_div").append(loan.name + "<br />"); //It should be loan.name and not laon.name
            });
    },
0
ответ дан 4 December 2019 в 21:50
поделиться

возможно, это поможет с jsonp:

http://remysharp.com/2007/10/08/what-is-jsonp/

2
ответ дан 4 December 2019 в 21:50
поделиться

Когда вы возвращаете данные, вы возвращаете их с правильным типом содержимого и как метод?

Вы должны возвращать данные следующим образом (пример php 5):

$return = "my_callback_method(" . json_encode( array('data'=>'your data etc') ). ")";

while (@ob_end_clean());
header('Cache-Control: no-cache');
header('Content-type: application/json');
print_r($return);

В вашем вызывающем javascript коде, у вас должен быть метод, соответствующий методу обратного вызова, который вы вернули, в данном случае:

function my_callback_method( returned_data ){
}

Таким образом, ваш полный вызывающий js должен выглядеть примерно так

jQuery(document).ready(function(){
var kiva_url = "http://api.kivaws.org/v1/loans/newest.json";

jQuery.ajax({
    type: "GET",
    url: kiva_url,
        data:"format=json", 
    dataType: "jsonp",
    error: function(xmlhttp,error_msg){
            alert("error"+error_msg);
    }
});

function my_callback_method( data ){
   alert("here");
   if( data && typeof(data) == 'object') ){
     jQuery.each(data.loans, function(i, loan){
         jQuery("#inner_div").append(loan.name + "<br />");
     });
   }
}

});
2
ответ дан 4 December 2019 в 21:50
поделиться