【问题标题】:How do I get javascript to read the output of a php file如何让 javascript 读取 php 文件的输出
【发布时间】:2011-05-15 22:54:23
【问题描述】:

首先你好,我是新来的。
我的问题是我有一个从数据库中提取信息的 php 文件。我将在下面发布代码。 我需要让我的 JavaScript 获取输出并将其加载到生成一些闪存卡的列表中。

代码示例`$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");

// select database
mysql_select_db($db) or die ("Unable to select database!");

$query1 = "SELECT * FROM category_tb WHERE cat_name = '$category'"; $result1 = mysql_query($query1) or die ("查询错误:$query1." .mysql_error()); 而 ($row = mysql_fetch_array($result1)) {

                $cat_num = $row[1];
        }

// 这会建立到 MySQL 的链接 $query = "SELECT * FROM english_lang, finnish_lang"。 “在哪里 english_lang.lang_id = finnish_lang.lang_id AND english_lang.cat_id = $cat_num”; $rt = mysql_query($query) or die ("查询错误:$query." .mysql_error());

while($nt=mysql_fetch_array($rt)){ echo "{\"english\": \"$nt[1]\", \"finnish\": \"$nt[6]\" , \"asked\": states.notAsked},";
} `

所以这基本上是获取一些数据并将其格式化以供 javascript 使用。 如果您想查看此输出以获得更好的想法,请转到此处
http://languagelearner.byethost2.com/vocabulary2.php
选择前 2 个类别中的 1 个,因为它们是唯一具有正确数据的类别
现在。
javascript是这样的:

代码示例`

var string1;
var string2;
var number;
var states = {"oneVisible": 0, "bothVisible": 1, "notAsked": 2, "asked": 3}
var state = states.bothVisible;
var numberOfWordsAsked = 0;
var words = {"list": [


    ]
}

function displayWords(){

    if (state == states.bothVisible) {
        if (numberOfWordsAsked < words.list.length) {
            state = states.oneVisible;
            number = Math.floor(Math.random() * words.list.length);
            while (words.list[number].asked == states.asked) {
                number = Math.floor(Math.random() * words.list.length);
            }
            string1 = words.list[number].english;
            string2 = words.list[number].finnish;
            document.getElementById("fin").style.display = 'none';
            document.getElementById("eng").innerHTML = words.list[number].english;
            document.getElementById("fin").innerHTML = words.list[number].finnish;
            document.getElementById("b").value = "Show word";
            document.getElementById("correct").style.display = 'none';
        }
        else {
            document.getElementById("eng").innerHTML = "You know all the words in this category, congratulations!";
            document.getElementById("fin").style.display = 'none';
            document.getElementById("b").style.display = 'none';
            document.getElementById("correct").style.display = 'none';
        }
    }

    else {
        document.getElementById("fin").style.display = 'inline';
        state = states.bothVisible;
        document.getElementById("b").value = "Wrong";
        document.getElementById("correct").style.display = 'inline';
    }
}

function setCorrect(){
    words.list[number].asked = states.asked;
    numberOfWordsAsked += 1;
    displayWords();
}

//-->
</script>

`

所以输出需要放在这里。
var words = {"list": [
]

任何帮助将不胜感激。 javascript不是我写的,是朋友写的。
他在列表中使用了静态信息。

【问题讨论】:

    标签: php javascript


    【解决方案1】:

    试试 AJAX。查看http://www.w3schools.com/PHP/php_ajax_database.asp

    var ajax = new XMLHttpRequest();
    ajax.onreadystatechange = function() {
    if (ajax.readyState == 4) {
     alert(ajax.responseText);
    }
    };
    ajax.open("GET", "ajax.php", true);
    ajax.send(null);
    

    在与 php 文件 ajax.php 相同的目录中使用时输出“hello world”:

    <php
    
    echo 'hello Word!';
    
    ?>
    

    【讨论】:

    • 我希望不要使用 ajax。我已经有数据库输出的回声。我刚刚编辑了脚本,因为它们在我的第一篇文章中很糟糕。
    • 我查看了那个例子并让它工作。问题是它与我所需要的背道而驰。我有 php 从 mysql 获取数据。我需要 javascript 才能阅读它并将其发布到网页上。
    【解决方案2】:

    要将 php 数据结构放入 javascript 可以解析的内容中,请使用 json_encode。这应该足以在您的路上为您提供帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-06
      • 1970-01-01
      • 2018-03-03
      • 2019-06-16
      • 1970-01-01
      • 1970-01-01
      • 2018-01-21
      相关资源
      最近更新 更多