【问题标题】:Sending data from .js to JSON using POST使用 POST 将数据从 .js 发送到 JSON
【发布时间】:2020-11-28 11:14:26
【问题描述】:

我有一些用户正在填写的输入,为了简化事情,它只是名字/姓氏。我的想法是让这些数据能够编辑我在本地拥有的 JSON 文件以添加此信息。我不知道这是否可能。这是我的 .js 代码:

function submitContacto(e) {
   
   var name= $("#name").val();
   var surname= $("#surname").val();
   
  
   var toSend={
       [name] : name,
       [surname] : surname,
       
       
   };
   
   var jsonString = JSON.stringify(toSend);
   console.log(jsonString);
   const xhr = new XMLHttpRequest();
   xhr.open("POST", "./contactJSON");
   xhr.setRequestHeader("Content-Type", "application/json");
   xhr.send(jsonString);
}

截至目前,控制台记录了正确创建的 jsonString,但是我出现了一个错误,显示“POST http://127.0.0.1:5500/contactJSON 405 (Method Not Allowed)”。我不确定这个错误是因为我做错了什么,还是无法直接从 JavaScript 文件发送数据来编辑 JSON 文件。

【问题讨论】:

  • 这意味着contactJSON api正在使用“POST”方法以外的方法。检查服务器是否使用“GET”、“PUT”或其他方式
  • 你为什么不用jQuery Ajax

标签: javascript json ajax xmlhttprequest


【解决方案1】:

Method now allowed 表示 url 好但方法不好。

所以这里不允许POST。 您可以通过curl '' -X POST进行验证

如果您的服务器编码正确,请在终端中发送此请求:

curl 'http://127.0.0.1:5500/contactJSON' -i 并检查Allow 的值。

HTTP/1.1 200 OK
Date: Sat, 28 Nov 2020 11:18:28 GMT
Content-Type: application/json
Content-Length: 2
Connection: keep-alive
Allow: GET

顺便说一句,当前浏览器实现了 fetch API,看看

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 2017-09-22
    • 1970-01-01
    • 2017-12-07
    • 2013-07-07
    • 1970-01-01
    • 2012-05-15
    相关资源
    最近更新 更多