将PHP结果放在HTML页面中

我有一个PHP文件,其代码可以回显一些HTML。 我想向一些最终用户提供PHP文件,可以这样做:

 

不幸的是,我的用户将拥有index.html,这将无法正常工作。 我不想让我的用户将HTML文件更改为PHP。 另一种方法是修改.htaccess文件:

  AddType application/x-httpd-php .html  

我也不想问他们这个问题。 那么我的其他选择是什么? 是否可以在HTML文件中显示回显的结果? 也许借助一些Javascript?

你可以用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文档中,请替换line: alert('Server-side response: ' + whatigot); 有了这个:

 $('#myDiv').html(whatIgot); 

普雷斯托! 您的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 

请看这个例子 ,了解它的工作原理。

请注意,上面的示例使用jQuery,因此在页面的标记中需要此引用:

    

这将用调用的url的内容替换html页面的主体。

 $('body').load( url,[data],[callback] ); 

如果他们可以添加javascript,ajax请求应该做的工作……

  

他们还需要一个div代码才能进入: