Php 在div中加载ajax后运行javascript代码

Php 在div中加载ajax后运行javascript代码,php,javascript,ajax,jquery,Php,Javascript,Ajax,Jquery,我的ajax代码运行得很好,但我希望在请求文件中添加javascript 我的代码是: $('#result').load('code.php'); 这运行得很好,但在code.php中,我将此代码设置为“hi”;它不会给出错误消息或警报 注意:我需要在code.php中编写javascript代码 出于某种原因,我需要在code.php中运行javascript 有人能帮我吗?试试: $('#result').load('code.php', function() { alert("hi!"

我的ajax代码运行得很好,但我希望在请求文件中添加javascript

我的代码是:

$('#result').load('code.php');
这运行得很好,但在code.php中,我将此代码设置为“hi”;它不会给出错误消息或警报

注意:我需要在code.php中编写javascript代码

出于某种原因,我需要在code.php中运行javascript

有人能帮我吗?

试试:

$('#result').load('code.php', function() { alert("hi!"); });

现在,问题是从PHP代码返回的HTML中的内联块应该运行。如果它没有运行,我会检查以确保返回的HTML没有被破坏。您可以使用浏览器调试工具检查ajax调用的返回正文。

在php中尝试以下脚本:

<script type="text/javascript" language="javascript">alert('hi');</script>
test.php

<script type="text/javascript" language="javascript">alert('hi');</script>
<?php
    echo 'test';
?>

也许这会有帮助?

我不知道为什么它对你不起作用,但如果它不看我的答案

我认为这应该奏效:

$("body").load("code.php", function(data) {
    data
        .replace(/\r|\n|\t/g, "")
        .replace(
            /<script.*?>.*?<\/script>/gi, 
            function(input) {
                $("script:first").prepend(input);
            }
        );
});
如果没有,请尝试以下操作:

$("body").load("code.php", function(data) {
    data = data
        .replace(/\r|\n|\t/g, "")
        .replace(
            /<script(\s.*?(src="(.*?)".*?)?)?>(.*?)<\/script>/gi, 
            function(input, match1, match2, match3, match4, match5) {
                if (match3) {
                    $("script:first").prepend(input);
                } else if (match5) {
                    eval(match5);
                }
            }
        );
});

为什么不使用这样的脚本$'result'.htmlcode;其中代码是来自ajax的成功函数。在ajax url中输入code.php,并在code.php中编写所需内容show@viper因为它与$'result'.load'code.php';相同;。我不明白你的意思。想说什么?使用调试器从PHP代码中捕获实际完整的响应文本,并将其发布在此处。也许有人会注意到问题所在,我想说的是,不要加载一个包含javascript代码的php文件,而是使用.html和ajax来捕获php文件的输出。php文件的输出将是警报框显示的内容。如果我说的对你来说是胡说八道,那么我可能还没有理解你的问题:Pno,不,我已经用过了,但我不需要它,因为code.php中的一些变量可能是动态的。你在你的问题中没有提到你用过它。正如我在回答中所说的,这个块应该可以工作,所以PHP代码的整体返回体肯定有问题。@micha我认为您要查找的形容词是专有的。这些都不是必需的。jQuery代码将已经运行任何嵌入式块。如果它对OP不起作用,那么回应体就有问题。我知道你是对的,就像我在第一句话中说的那样,但我认为给出建议总比什么都不做要好。
$("body").load("code.php", function(data) {
    data
        .replace(/\r|\n|\t/g, "")
        .replace(
            /<script.*?>.*?<\/script>/gi, 
            function(input) {
                $("script:first").prepend(input);
            }
        );
});
$("body").load("code.php", function(data) {
    data = data
        .replace(/\r|\n|\t/g, "")
        .replace(
            /<script(\s.*?(src="(.*?)".*?)?)?>(.*?)<\/script>/gi, 
            function(input, match1, match2, match3, match4, match5) {
                if (match3) {
                    $("script:first").prepend(input);
                } else if (match5) {
                    eval(match5);
                }
            }
        );
});