使用ajax调用并实现PHP + javascript代码

时间:2011-06-05 18:13:55

标签: javascript ajax

我有混合代码php +(香草javascript)里面的php文件。 我通过ajax调用了这个文件中的代码。

php代码示例

echo "<script type='text/javascript'>
  alert('Hello')
</script>";

问题是PHP代码已执行,但JavaScript代码未执行。

是否有使用ajax请求实现两个代码PHP + JS的解决方案

请我想要vanilla javascript示例而不是任何javascript框架

3 个答案:

答案 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

http://api.jquery.com/jQuery.post/