我有混合代码php +(香草javascript)里面的php文件。 我通过ajax调用了这个文件中的代码。
php代码示例
echo "<script type='text/javascript'>
alert('Hello')
</script>";
问题是PHP代码已执行,但JavaScript代码未执行。
是否有使用ajax请求实现两个代码PHP + JS的解决方案
请我想要vanilla javascript示例而不是任何javascript框架
答案 0 :(得分:0)
您尚未展示如何使用AJAX调用此PHP脚本。当您收到服务器的响应时,您需要将其注入DOM中的某个位置,以便脚本被包含并执行。
例如,如果您使用的是jQuery,则可以使用$.ajax()
方法,如下所示:
$.ajax({
url: '/foo.php',
success: function(result) {
$('body').append(result);
}
});
或者你可以直接让你的PHP脚本返回javascript(没有<script>
标签):
echo "alert('Hello')";
然后使用$.getScript()
方法:
$.getScript('/foo.php');
答案 1 :(得分:0)
PHP是服务器端,JavaScript是客户端。如果您对PHP页面执行AJAX请求,该页面将呈现其PHP并将结果作为 text (或XML或...)发回。由接收该输出的脚本决定如何处理它。
在您的情况下,很可能,您从AJAX获得了这样的页面:
<script type='text/javascript'>
alert('Hello')
</script>
它以纯文本形式存储并传递给AJAX函数中的回调。为了解决这个问题,我建议使用像jQuery.ajax()这样的AJAX框架实现:
$.ajax({
url: "test.php",
success: function(data) {
alert(data);
// Expected output - User alert saying
// <script type='text/javascript'>
// alert('Hello')
// </script>
}
});
答案 2 :(得分:0)
您应该显示ajax调用的代码。
您使用的是jquery吗?
此示例可以帮助您使用javascript ajax
http://www.switchonthecode.com/tutorials/simple-ajax-php-and-javascript
http://www.tizag.com/ajaxTutorial/ajax-javascript.php
jquery ajax