使用 javascript 和 php (NO jQuery) 与 mysql 服务器

我正在尝试实现两件事:(1)从 contenteditable div 获取文本,使用 javascript 将该文本发送到 php,使用 php 将该数据发送到 MySQL 数据库并保存(2)检索保存的数据/文本和将其重新插入可满足的 div


所有这一切,而不是使用 jQuery


到目前为止我得到了什么:


索引.html


<body>

    <div contenteditable="true" id="editable"></div>

    <button onClick="send_data();">Save text</button>

    <button onClick="retrieve_data();">Get text</button>

</body>

javascript.js


function send_data() {

    var php_file = "connection.php";

    var http_connection = new XMLHttpRequest();


    http_connection.open("POST", php_file, true);


    http_connection.onreadystatechange = function() {

        if(http_connection.readyState == 4 && http_connection.status == 200) {

            alert(http_connection.responseText);

        }

    }


   http_connection.send(document.getElementById('editable').innerText);

}


function retrieve_data() {

    // I do not know what to put here

}

连接.php


<?php

$servername = "localhost";

$username = "mysql_user";

$password = "secure_password";

$dbname = "some_database";


// Create connection

$conn = mysqli_connect($servername, $username, $password);


if(!conn) {

    echo 'No connection';

}


if(!mysqli_select_db($conn,'some_database')) {

    echo "No database";

}


$some_val = $_GET['text']


$sql = "SELECT text FROM some_database";

$result = $conn->query($sql);


echo $result;


$conn->close();


?>

编辑:我的代码没有做的是上传文本以及接收文本。


呼啦一阵风
浏览 89回答 1
1回答

千万里不及你

js中的一些问题:http_c没有定义readyState拼写错误该send方法需要在回调之外onreadystatechange一旦这些事情得到纠正,程序应该给出不同的,而不是预期的结果。其他事情:js 正在发送一个“POST”请求。php 正在寻找$_GET["text"]哪个会给出未定义的错误。我猜测这$sql = "SELECT text FROM some_database";将失败(如果它到达那条线),除非数据库中有一个名为“some_database”的表。建议,对于初学者,通过将代码短路connection.php到类似的东西来让 ajax 工作echo&nbsp;"You&nbsp;are&nbsp;here"; exit;然后逐渐在 js 和 php 之间工作,直到程序给你你想要的。
打开App,查看更多内容
随时随地看视频慕课网APP