我有几个涉及 JavaScript 和 MySQL 交互的问题。
我想要实现的基本想法是使用 JavaScript 来允许管理员更改某些元素的内容。这些元素包含文本,通过使用 JavaScript 单击该元素,会出现一个包含旧文本的“弹出”文本区域,并允许管理员修改文本。管理员修改文本后,他可以将其发布到 MySQL 表中修改数据。
据我了解,此操作的基本流程是: javascript -> AJAX 请求 -> 在服务器上运行的脚本(PHP、Perl、ASP.NET 等)-> 数据库
- 有人可以给我一个非常基本的演示,告诉我如何执行这样的操作吗?
- 这不安全吗?
- 这是实现我想要实现的目标的最佳方法吗?
最佳答案
这是为用户提供快速编辑内容的常见方法。 你走在正确的轨道上。使用弹出窗口显示表单,当用户提交表单时发送 AJAX 请求来调用服务器脚本。
例如,如果您使用 jqueryUI,这将变得非常简单:
- 引用http://jqueryui.com/demos/dialog/#modal-form了解如何使用 jqueryUI 创建弹出表单
- 用户提交表单后,您需要将其 POST 到接收数据并更新数据库的服务器脚本(就像您通常所做的那样)。让它发送一个SUCCESS/FAIL值,以便客户端知道操作是否成功。
- 如果更新成功,则关闭弹出窗口;如果更新失败,则显示错误。
Is this unsafe?
这并非不安全。唯一要记住的是,您需要在通过 ajax 调用的服务器脚本(更新记录)中检查用户是否经过身份验证(即在 session 中)。忘记这一点会让任何人调用您的服务器脚本来编辑记录。这是非常明显的,但我发现很多人在涉及 AJAX 请求时都忽略了这一点。如果您正在执行的操作不需要身份验证,那么显然这不是问题。
关于Javascript修改mySQL数据/表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9185898/