我有一个PHP文件,其代码可以回显一些HTML。我想向一些最终用户提供PHP文件,可以这样做:
<?php include 'file.php'; ?>
不幸的是,我的用户将拥有index.html,但这不起作用。我不想让我的用户将HTML文件更改为PHP。另一种方法是修改.htaccess文件:
<Files index.html>
AddType application/x-httpd-php .html
</Files>
我也不想问他们这个问题。那么我的其他选择是什么?是否可以在HTML文件中显示回显的结果?也许借助一些Javascript?
答案 0 :(得分:7)
您可以使用AJAX执行此操作。它可能看起来有点挑战,但坦率地说比许多人想象的要简单得多。事实上,这很容易。
Ajax包含在你的javascript代码中,看起来像这样:
$('#stSelect').change(function() {
var sel_stud = $(this).val();
//alert('You picked: ' + sel_stud);
$.ajax({
type: "POST",
url: "your_php_file.php",
data: 'theOption=' + sel_stud,
success: function(whatigot) {
alert('Server-side response: ' + whatigot);
} //END success fn
}); //END $.ajax
}); //END dropdown change event
请注意,PHP文件中的数据会出现在AJAX调用的成功函数中的HTML文档中,并且必须在那里处理。这就是您将接收到的数据插入DOM的位置。
例如,假设您的HTML文档包含id="myDiv"
的DIV。要将PHP中的数据插入到HTML文档中,请将以下行替换为alert('Server-side response: ' + whatigot);
:
$('#myDiv').html(whatIgot);
的Presto!您的DIV现在包含从PHP文件回显的数据。
可以通过更改控件的值(如上例所示)或仅在文档加载时触发ajax:
$(function() {
//alert('Document is ready');
$.ajax({
type: "POST",
url: "your_php_file.php",
data: 'Iamsending=' + this_var_val,
success: function(whatigot) {
//alert('Server-side response: ' + whatigot);
} //END success fn
}); //END $.ajax
}); //END document.ready
请查看this example有关其工作原理的建议。
请注意,上面的示例使用jQuery,因此在页面的标记中需要此引用:
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
</head>
答案 1 :(得分:1)
这将用名为。
的网址的内容替换html页面的主体$('body').load( url,[data],[callback] );
答案 2 :(得分:1)
如果他们可以添加javascript,ajax请求应该完成工作......
<script>
var req = new Request({
method: 'get',
url: 'file.php',
onRequest: function() { // loading image
},
onSuccess: function(response) {
document.getElementById("destination").innerHTML = response;
}
}).send();
</script>
他们还需要一个div代码才能进入:
<div id="destination"></div>