javascript - 我可以从 JSON 文件中检索数据,但无法添加
问题描述
我读了那个问题(点击)。我读过类似的文章。但它不发送数据。
我想做的程序:
- 我正在尝试制作一个登录程序。
- 我有一个JSON 文件,其中存储用户名和密码数据。
- 从外部,我可以捕获 JSON 文件中的数据。(没问题)
- 但我想发送数据。(这个问题)
- 系统不会发出“错误”警告。但它不会发送 JSON 文件中的数据。
示例 JSON 文件:
{
"jack":"jack123",
"rick":"rick123",
"maria":"maria123"
}
HTML 代码:
<input type="text" id="username" placeholder="username">
<input type="text" id="password" placeholder="password">
<button onclick=run()>CLICK RUN</button>
<button onclick=run1()>CLICK RUN1</button>
JAVASCRIPT代码:
function run1(){
var username = $("#username").val();
var password = $("#password").val();
let xmlRequest,obj;
xmlRequest = new XMLHttpRequest();
xmlRequest.onreadystatechange = function(){
if(this.readyState === 4 && this.status === 200){
obj = JSON.parse(this.responseText);
var res = obj[username];
if(res == password){
alert(`Welcome ${username}`);
}
}
}
xmlRequest.open("GET","http://localhost/deneme/info.json",true);
xmlRequest.send();
}
function run(){
var username = $("#username").val();
var password = $("#password").val();
let xmlRequest,obj;
xmlRequest = new XMLHttpRequest();
var url = "http://localhost/deneme/info.json";
xmlRequest.open("POST", url, true);
xmlRequest.onreadystatechange = function(){
if(this.readyState === 4 && this.status === 200){
obj = JSON.parse(this.responseText);
}
}
var data = JSON.stringify({username:password});
xmlRequest.send(data);
}
注意:我不知道 PHP。
解决方案
您正在尝试做的事情有很多问题。即使你是前端,你也需要知道后端是如何工作的。使用 node.js,它使用 javascript 构建简单的服务器。
您正在做的是发送请求,但无法处理它,因为您无权从客户端 javascript 访问计算机的文件系统。
它是如何工作的:您发送带有一些数据的发布请求。您的后端获取此数据并对其进行处理。写入文件或数据库或执行任何其他操作。您缺少的是服务器端。再次,观看一些关于如何安装 node.js、npm、如何制作简单服务器的教程。
除此之外,您不能将登录名和密码存储在文本文件中,尤其是没有加密的情况下。这是一个禁忌。
推荐阅读
- reactjs - Firebase:向反应应用程序添加身份验证
- assembly - Nasm - 将值从 4 字节寄存器移动到 1 字节地址空间
- generics - 如何限制泛型扩展函数参数类型?
- api - 从维基百科文章的 API 中获取表格
- javascript - 无论文件夹名称如何,如何使用 fs/require 访问一组文件
- hibernate - 使用 Spring Boot 和 JPA 存储库检查数据库中是否存在记录
- java - 如何在 AlertDialog edittext 中设置 fontfamily?
- openssl - 在 .NET Core 中使用 ECDSA384 进行 JWT 签名验证(MacOS 兼容性问题)
- amazon-web-services - s3 存储桶仅对某些对象的公共访问
- python - Django Channels 错误:您不能在与异步事件循环相同的线程中使用 AsyncToSync