Я использую JSONP для получения данных с сервера.jQuery: JSONP: Execute Received Info
Более типичный метод борьбы с этим, чтобы получить данные, а затем иметь JavaScript определить, что делать с данными (обновление DIV, и т.д.)
Однако, вместо того, чтобы отвечать на запросы с простыми данными, то сервер отвечает фактическим кодом jQuery, который должен быть выполнен. Как я могу заставить свой javascript принять этот ответ, а затем выполнить его? Я сделал это очень успешно с Mootools (используя evalScripts), но я не могу понять это в jQuery.
Преимущества этого в том, что клиентский код намного меньше, и в браузере требуется меньше работы.
Пример:
$.getJSON("http://appbeacon.com/index.php?model=blah_blah_blah", function(data){
$.each(data, function(i,item){
console.log(item);
// Need to execute "item" ??????
});
});
Пример ответа (No Longer JSON закодированные):
$("#1_cmd_group").remove();
$("#2_cmd_group").remove();
$("#3_contents").html("<li>blah blah blah");
JSON не претендует на код. Вы должны рассматривать его взаимозаменяемо с XML. –
Спасибо. Это было намного легче, чем я ожидал. Я отредактировал свое оригинальное сообщение с помощью метода Mootools для этого, затем мне стало интересно искать google для «jquery evalScripts». Я придумал несколько запутанных решений. Ваш ответ был прав. Thanks, Justin – Justin
Рад, что я мог помочь. Только одно примечание. eval() относительно медленный по сравнению с выполнением нормального кода, поэтому просто будьте осторожны при его использовании. –