首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将javascript变量传递到php代码中

将javascript变量传递到php代码中
EN

Stack Overflow用户
提问于 2012-03-23 17:30:03
回答 6查看 1.4K关注 0票数 2

我正在尝试将一个变量从javascript传递到一行PHP include代码中,以创建一个更动态的脚本。但到目前为止,我还没有做到这一点。

逻辑如下:

看看下面的代码--我想用一个javascript变量替换'textfile.txt‘。

代码语言:javascript
复制
descrip2.innerHTML = "<?php include('textfile.txt'); ?>";

要显示以下内容:

代码语言:javascript
复制
var thisfile = [userinput];
descrip2.innerHTML = "<?php include(thisfile); ?>";

对如何实现这一点有什么想法吗?我知道我正在尝试将客户端脚本与服务器端连接起来,但这就不能用我尝试的方式来完成吗?也许可以做一些小调整?我不想为那些本该如此直观和简单的东西写一百个php脚本。:(如果我能避免的话就不会...

EN

回答 6

Stack Overflow用户

发布于 2012-03-23 17:37:20

如果我理解你的问题,你不能那样做。

你可以使用ajax请求。如果你使用jquery,你可以这样做:

代码语言:javascript
复制
var thisfile = [userinput];
$(descrip2).load(thisfile);

或者自己执行ajax请求。

票数 3
EN

Stack Overflow用户

发布于 2012-03-23 17:36:51

如果您文件是简单的html文本,您可以使用返回文件内容的file_get_contents()函数来执行此操作:

代码语言:javascript
复制
descrip2.innerHTML = "<?php echo file_get_contents('textfile.txt'); ?>";
票数 0
EN

Stack Overflow用户

发布于 2012-03-23 17:41:43

更新:

从你的问题和你在评论中说的。我假设您有这样的场景:

你有一个包含一些information.

  • you的文件,你想用这些信息填充你的

因此,在继续之前,创建一个格式良好的文件来存储所有信息。示例

  • data.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<data>
    <div>
        <h2>lorem ipsum</h2>
        <p>brown fox jump hover the lazy dog</p>
    </div>
    <div>
        <h2>lorem ipsum 1</h2>
        <p>brown fox jump hover the lazy dog 1</p>
    </div>
</data>

然后使用AJAX加载内容并将其附加到所需的元素,如下所示

代码语言:javascript
复制
<html>
    <head>
        <title></title>
        <script>
            var descriptor;
            function init() {
                descriptor = document.getElementById("descriptor");
                loadFromFile('data.xml');
            }

            function loadFromFile(thisfile) {
                var xmlhttp;
                if(window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
                    xmlhttp = new XMLHttpRequest();
                } else {// code for IE6, IE5
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange = function() {
                    if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {

                        var data = xmlhttp.responseXML.documentElement.getElementsByTagName('div');
                        var divs = '';

                        for(var i = 0; i < data.length; i++) {

                            var div = data[i];

                            divs += '<div>';
                            divs += '<h2>' + div.getElementsByTagName('h2')[0].firstChild.nodeValue + '</h2>';
                            divs += '<p>' + div.getElementsByTagName('p')[0].firstChild.nodeValue + '</p>';
                            divs += '</div>';

                        }

                        descriptor.innerHTML = divs;
                    }
                }
                xmlhttp.open("GET", thisfile, true);
                xmlhttp.send();
            }
        </script>
    </head>
    <body onload="init()">
        <div id="descriptor"></div>
    </body>
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9836748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档