gpt4 book ai didi

javascript - 如何使用JavaScript/Ajax和Python编辑本地SQL数据库?

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:58 25 4
gpt4 key购买 nike

我使用 JavaScript 开发了一个网站的前端。

我有一个按钮,当它被点击时,它会从网站上的另一个对象中检索一个整数值。

我有一个本地 SQL 数据库。单击此按钮时如何进行 SQL 调用?

我看过 JavaScript/Ajax 和 PHP 的答案,但我不想使用 PHP。

仅使用 JavaScript,我可以打开本地 SQL 数据库并进行 SQL 调用吗?如果是,如何?

如果我不能仅使用 JavaScript 来完成此操作,我可以使用 JavaScript/Ajax 和 Python 吗?如果是,请发布引用或简单示例。

最佳答案

从技术上讲,可以使用客户端 JavaScript 连接到数据库。然而,正如其他人已经指出的那样,这样做被认为是非常糟糕的做法,原因有几个——其中最重要的是安全性。

当要求浏览器加载某个页面时,它将继续并向服务器询问在该 URL 中找到的内容。这意味着呈现页面所需的 HTML 文件、外部 JavaScript 文件、图像、样式表和其他资源。由于用户可以访问这些文件,尤其是您的 JavaScript 代码,这意味着他可以访问您的数据库凭据。您可以尝试缩小/混淆代码,但这不会使其更安全。

如果您确实了解所有后果并且出于某种原因您仍然想这样做,请查看 this example.

最好的方法是让服务器处理与数据库的交互。根据您选择的语言,您可以使用 PHP(以及 Apache 等 HTTP 服务器)、Java、Python 等构建应用程序的这一部分。您甚至可以使用 JavaScript(参见 Node.js)。

由于您需要一个 Python 片段,这里有一个连接到 MySQL 数据库并创建一个 HTTP 服务器来监听端口 8080 上的连接的片段。对于它将收到的每个 GET 请求,脚本将查询数据库并将结果作为文本/html 发送回。

#!/usr/bin/python
import MySQLdb
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer

PORT_NUMBER = 8080

class Handler(BaseHTTPRequestHandler):

def do_GET(self):

# prepare a cursor object using cursor() method
cursor = db.cursor()

# execute SQL query using execute() method
cursor.execute("SELECT VERSION()")

# Fetch a single row using fetchone() method
data = cursor.fetchone()

self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()

self.wfile.write(data)
return

try:

db = MySQLdb.connect(host="localhost", user="root", passwd="yourpwd", db="pw_exam")

server = HTTPServer(('', PORT_NUMBER), myHandler)
print 'Started httpserver on port ' , PORT_NUMBER

server.serve_forever()

except KeyboardInterrupt:
print '^C received, shutting down the web server'
server.socket.close()

关于javascript - 如何使用JavaScript/Ajax和Python编辑本地SQL数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35323095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com