Также знайте что, удаляя указатель базового класса, когда нет никакого виртуального деструктора, приведет к неопределенное поведение . Что-то, что я изучил просто недавно:
, Как должен, переопределяя, удаляют в C++, ведут себя?
я использовал C++ в течение многих лет, и мне все еще удается подвесить меня.
Я нашел ответ ... похоже, что 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 (). См. Здесь:
Ссылка со страницы - отличная эталонная реализация предлагаемый парсер ECMAScript JSON interface, JSON.parse ().
Ура, skylar
Где возникает ошибка? Возникает ли ошибка, когда вы пытаетесь перебрать данные 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
});
},
Когда вы возвращаете данные, вы возвращаете их с правильным типом содержимого и как метод?
Вы должны возвращать данные следующим образом (пример 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 />");
});
}
}
});