好的,这可能看起来像是一个愚蠢的问题。我正在尝试完成一个相当简单的任务,即通过php文件从mySQL数据库生成一些动态内容。这很好,不幸的是,当我尝试添加一些AJAX功能来填充另一个选择框时,根据选择它不起作用。现在我确定你的想法让我看到了代码,但问题不需要它。现在,当我删除页面的php部分并创建一个直接的html文件而没有任何东西正在由php填充时,AJAX调用正常工作,这里的问题是我没有从数据库生成任何动态,所以这种方法是没有的好。所以这里有一个问题,如果文件是通过PHP呈现的,AJAX不起作用吗?谢谢你的帮助提前。
答案 0 :(得分:0)
如果Javascript语法正确,Ajax会起作用。它完全独立于页面渲染的语言(html / php / asp / cf / etc.)。
答案 1 :(得分:0)
AJAX是通过Javascript完成的。如果从页面中删除动态内容使AJAX工作,那么看看PHP正在吐出什么打破了javascript。
一旦生成的(或加载的)HTML从服务器传输到线路上,浏览器就无法判断它是实际的PHP脚本还是静态HTML文件。
答案 2 :(得分:0)
如果您尝试执行通过AJAX调用包含的JS,它将无法正常工作。您必须创建一个函数作为回调并在AJAX成功时运行回调。
答案 3 :(得分:0)
我建议您使用Firebug来跟踪返回的Ajax调用内容...看看它:http://getfirebug.com/
他们是对的,顺便说一下,看看你的PHP脚本,那里可能还有一些制动。
答案 4 :(得分:0)
现在我确定你的想法让我看到了 代码,但它不需要 问题
那就是你错了。这将有助于为您提供更好的答案。
所以这是问题,AJAX不是 如果文件是通过PHP呈现的?
无论您使用服务器端语言,它都能正常运行。
一个小例子:
<?php
header('Content-Type:text/html; charset=UTF-8');
$_GET = filter_input_array(INPUT_GET, FILTER_SANITIZE_STRING);
if (isset($_GET['min']) && isset($_GET['max'])) {
echo rand($_GET['min'],$_GET['max']);
exit();
}
?>
<html>
<body>
<p id="randomtext"></p>
Low:<br /><input type="text" id="min" value="0" /><br />
High:<br /><input type="text" id="max" value="100" /><br />
<button id="randomgenerator">Generate random number</button>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// Handler for .ready() called.
$("#randomgenerator").click(function() {
$.get("./", { "min": $("#min").val(), "max": $("#max").val() }, function(data) {
$("#randomtext").html(data);
});
});
});
</script>
</body>
</html>