我的index.php有一个jquery ajax调用,它将getposts.php插入到我的#content div中。这很好..问题是getposts.php中有一些javascript(更多jQuery),而Chrome确实执行了代码,Firefox没有。
如果我将javascript包含为文件(setchecked.js),firebug正在寻找setchecked.js_ = 1322020697832
如果我将javascript直接包含在getposts.php中,则javascript会被完全忽略(它甚至不会显示在源代码中)
有谁知道为什么以及如何解决它?
的index.php
<script type="text/javascript" src="fetchposts.js"></script>
<div id="content"></div>
fetchposts.js
$(document).ready(function() {
$.ajax({
url: 'getposts.php',
type: 'POST',
success: function (fetched) {
$('#content').load('getposts.php');
},
});
});
getposts.php(这使得firebug寻找setchecked.js_ = 1322020697832
<script type="text/javascript" src="setchecked.js"></script>
或getposts.php(源代码中完全没有javascript)
<script type="text/javascript">
$(document).ready(function() {
// set $checked values
$.ajax({
url: 'query.php',
type: 'POST',
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: function (msg) {
------ do some fun stuff that works --------
},
});
});
</script>
--------------- some php and html that DOES display -------------
同样,我的问题不是我的javascript的内容,而是如何让javascript在#content中工作。 Chrome确实可以毫无问题地执行代码。出于某种原因,它是firefox挑剔。 Firebug报告没有错误,除了查找错误的文件或完全忽略它。
其余的getposts.php(html和php代码)会在我的#content中显示在Chrome和Firefox中。
答案 0 :(得分:1)
我知道脚本正在运行,但我认为它们需要一些重构。 从代码中我看到你是
可以通过以下方式改进代码:
fetchposts.js
$(document).ready(function() {
var someFunStuff = function(msg) {
// do some fun stuff that works
};
var setChecked = function() {
$.getJSON('query.php', someFunStuff);
};
$('#content').load('getposts.php', setChecked);
});
如果我误解了你想要完成的事情,或者你有更多需要引入的规范,请告诉我,我会根据需要做出回应。
我看到您对使用单个javascript文件所做的评论。你需要从单独的数据库获得什么?