将PHP结果放在HTML页面中

You*_*uss 1 javascript php jquery include

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

<?php include 'file.php'; ?>
Run Code Online (Sandbox Code Playgroud)

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

<Files index.html>
AddType application/x-httpd-php .html
</Files>
Run Code Online (Sandbox Code Playgroud)

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

css*_*hus 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
Run Code Online (Sandbox Code Playgroud)

请注意,PHP文件中的数据在AJAX调用的成功函数中进入HTML文档,必须在那里处理.这就是您将接收到的数据插入DOM的位置.

例如,假设您的HTML文档具有DIV id="myDiv".要将PHP中的数据插入到HTML文档中,请将以下行替换为alert('Server-side response: ' + whatigot);:

$('#myDiv').html(whatIgot);
Run Code Online (Sandbox Code Playgroud)

普雷斯托!您的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
Run Code Online (Sandbox Code Playgroud)

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

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

<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
</head>
Run Code Online (Sandbox Code Playgroud)