gpt4 book ai didi

javascript - React JS + React Router 可以使用 $.get 但不能使用 $.ajax PUT

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

我有一个react.js 设置,并且我有一些使用react-router 的简单路由。我有一个调度员:

import dispatcher from "../dispatcher";

export function reloadList(){
dispatcher.dispatch({type: "FETCH_LIST"});
let serverRequest = $.get("../../data/list.json",
function(data){
console.log(data); //Logs correct data from list.json
}
);
}

export function saveList(list){
dispatcher.dispatch({type: "SAVE_LIST"});
let serverRequest =
$.ajax(
url: "../../data/list.json",
dataType: 'json',
method: 'PUT',
data: list,
success: function(data) {
console.log("success!"); //does not output
},
error: function(xhr, status, err) {
console.log(status, err.toString()); //outputs a 404 error
}
});
)
}

reloadList() 函数运行良好并输出 JSON 数据。 saveList() 函数抛出 404 错误。我假设这是因为应用程序处理路由的方式,但我很困惑为什么它适用于 get 而不是 put(或与此相关的 post)。

我一直在努力将数据保存到 react 文件中,起初这似乎是正确的方法,但现在我不太确定。我在这里做错了什么吗?

最佳答案

根据您的措辞,我假设您正在使用某种简单的 HTTP 服务器(或根本没有服务器)进行本地开发,并且 list.json 是您计算机上的一个文件。如果是这种情况,您的问题是您的 HTTP 服务器没有路由来知道如何处理 PUT(或 POST,或者可能是 GET 之外的任何方法)。如果您想将文件写入系统,您将需要添加一个可以处理 PUT 并更智能地与文件系统交互的实际后端。

不幸的是,没有简单的方法可以单独在浏览器中将文件写入磁盘(出于安全原因),但如果您想避免添加到后端,您可以考虑创建用于下载的文件 using a Blob

关于javascript - React JS + React Router 可以使用 $.get 但不能使用 $.ajax PUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38003147/

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