2017-02-15 24 views
0

Следующий код работает в Chrome и Firefox. Но у меня проблемы с Safari.Необходимо выполнить Javascript в Ajax Call

main.php содержит:

<script> 
function show<?php echo $s; ?>(str) { 
if (str.length == 0) { 
    document.getElementById("textOrder").innerHTML = ""; 

    return; 
} else { 

    var xmlhttp = new XMLHttpRequest(); 
    xmlhttp.onreadystatechange = function() { 
     if (this.readyState == 4 && this.status == 200) { 
      document.getElementById("textOrder").innerHTML =  this.responseText; 

      $.post("<?php echo site_url(); ?>/test.php?q=" + str, function(response){ 




        $("#ajax_responses").load(response); 
$("#ajax_responses").html(response); 

    var quantity = $('#quantity',response).val(); 
        document.getElementById('example').value = quantity; 

$("#ajax_responses").find("script")(function(){ 
eval($(this).text()); 
}); 
    }); 

     } 
    }; 
    xmlhttp.open("GET", "<?php echo site_url(); ?>/test.php?q=" + str, true); 
    xmlhttp.send(); 

    } 
} 




</script> 
<div id="ajax_responses" style="display:none;"></div> 

У меня есть Javascript внутри моего файла ответов AJAX, что я пытаюсь выполнить. Код выполняется в Chrome и Firefox.

Мой test.php содержит следующие

<script type="text/javascript" id="runscript"> 


    alert("test"); 

</script> 

Как я могу получить Javascript выполнить в Safari?

Любая помощь будет принята с благодарностью!

Спасибо!

+0

любые ошибки консоли, чтобы сообщить? –

+0

это '$ (" # ajax_responses "). Load (response); $ ("# ajax_responses"). Html (response); 'выглядит полностью подозрительным в любом случае - вы уверены, что не получаете ошибок в других браузерах? –

+0

Привет, '$ (" # ajax_responses "). Html (response)' отлично работает в Chrome и Firefox. Я не тестировал его с помощью IE, но меня это не беспокоит. Но я не могу заставить Safari работать. –

ответ

0

Действительно удивил, никто не дал никаких ответов ... Тем не менее, я нашел решение проблемы.

Вы можете использовать javascript с PHP в вызове Ajax.

Что-то вроде этого:

<?php echo '<script>alert("test")</script>'; ?>