需要在 Ajax 调用中执行 Javascript

Need to Execute Javascript in Ajax Call

以下代码适用于 Chrome 和 Firefox。但是我在使用 Safari 时遇到了问题。

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>

我的 AJAX 响应文件中有 Javascript 我正在尝试执行。代码在 Chrome 和 Firefox 中执行。

我的 test.php 包含以下内容

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


    alert("test");

</script>

如何让 Javascript 在 Safari 中执行?

任何帮助将不胜感激!

谢谢!

真的很惊讶没有人提供任何答案...但是,我找到了解决问题的方法。

您可以在 Ajax 调用中用 PHP 回显 javascript。

像这样:

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