Интересно, какой самый эффективный способ сделать НИЧЕГО, что может прийти из вызова ajax. Ответ может быть html и / или javascript
Я делал это с document.write (), так как вызов ajax был синхронизирован. Теперь я должен использовать асинхронные вызовы, поэтому я не могу просто написать на страницу с помощью document.write, я должен добавить содержимое к определенному html-объекту, когда вызов завершен.
Я пробовал это
$jQuery.ajax({
url: "myURL.ashx",
data: params,
success: function(data){
var newdiv = document.createElement('div');
newdiv.innerHTML = data;
document.getElementById('target').appendChild(newdiv);
}
но он не работает для любого возвращенного JavaScript, его легко сломать (это означает; он не отображает содержимое или делает странные вещи, как отображение содержимого в новой вкладке). Я просто работаю по простым сценариям.
Интересно, есть ли лучший подход, который работает лучше, чем этот?
Спасибо!
EDIT
Этот код, например, не работает должным образом. Он отображает содержимое на пустой странице вместо добавления содержимого на текущую страницу. Я тестирую с FF 3.6. Для простоты я пишу javscript на str
var, но этот скрипт возвращается с сервера. Контент, возвращаемый сервером, является ADS, контент динамический и абсолютно случайный.
var str = "<sc" + "ript language=\"JavaScript\" type=\"text/javascript\">";
str += "document.write('<scr'+ 'ipt language=\"JavaScript\" src=\"anything.js\" type=\"text/javascript\"><\/scr' + 'ipt>');";
str += "<\/script>";
var newdiv = document.createElement('div');
newdiv.innerHTML = str;
document.getElementById('target').appendChild(newdiv);