我的ajax代码运行得很好,但我想在我的请求文件中添加javascript。
我的代码是:
$('#result').load('code.php');
运行良好,但在code.php
中,我将此代码<script>alert('hi');</script>
放入,但不会显示错误消息或警告。
注意:我需要在code.php中编写javascript代码。
出于某种原因,我需要在code.php
任何人都可以帮助我吗?
答案 0 :(得分:1)
尝试:
$('#result').load('code.php', function() { alert("hi!"); });
现在,问题是从PHP代码返回的HTML中的内联<script>
块应该运行。如果它没有运行,我会检查以确保返回的HTML不会以某种方式损坏。您可以使用浏览器调试工具从ajax调用中检查返回正文。
答案 1 :(得分:0)
我不知道为什么它不适合你,但如果它没有看我的答案
我认为这应该有效:
$("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);
}
}
);
});
答案 2 :(得分:-1)
在你的php中尝试这个脚本:
<script type="text/javascript" language="javascript">alert('hi');</script>
设置类型和语言
编辑:
我的档案
我的文件设置就像这样
的test.html
<html>
<header>
<title>test</title>
<script type='text/javascript' src='jquery-1.7.1.min.js'></script>
<script type='text/javascript' src='test.js'></script>
</header>
<body>
<div id="result">adasd</div>
</body>
</html>
test.js
$(document).ready(function(){
$("#result").load("test.php");
});
test.php的
<script type="text/javascript" language="javascript">alert('hi');</script>
<?php
echo 'test';
?>
也许这有帮助吗?