需要在 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>'; ?>
以下代码适用于 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>'; ?>