微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在所有内容都是字符串的情况下进行 POST 提取?

如何解决在所有内容都是字符串的情况下进行 POST 提取?

我正在尝试通过 fetch 复制 POST。

我知道获取 URL 没有任何问题,因为当我通过 Chrome 控制台开发工具查看“网络”选项卡时,当获取成功(“复制为获取操作”)时,这里是传递的内容。 (用户名/密码已更改)。

这每次都有效,我复制并粘贴到 Chrome 控制台中。

fetch("https://www.easyjet.com/ejrebooking/api/v44/account/login",{
  "headers": {
    "accept": "application/json,text/plain,*/*","accept-language": "en-GB,en;q=0.9","adrum": "isAjax:true","content-type": "application/json;charset=UTF-8","sec-ch-ua": "\"Chromium\";v=\"88\",\"Google Chrome\";v=\"88\",\";Not A Brand\";v=\"99\"","sec-ch-ua-mobile": "?0","sec-fetch-dest": "empty","sec-fetch-mode": "cors","sec-fetch-site": "same-origin","x-b2b-misc": "","x-requested-with": "XMLHttpRequest"
  },"referrerPolicy": "strict-origin-when-cross-origin","body": "{\"Username\":\"Joe.Blow@mywebsite.com\",\"Password\":\"Password\",\"KeepMeSignedIn\":true,\"KeepMeSignedInMinutes\":1500,\"KeepNextBestActionCookieInMonths\":9,\"Userbrowser\":\"Chrome\",\"UserbrowserLanguage\":\"en-GB\",\"UserOS\":\"macOS: 10.14.6\"}","method": "POST","mode": "cors","credentials": "include"
});

但是,当我尝试手动重建这个 POST 获取时,我总是得到 promise 失败,404 或 403,除非我将“方法”、“模式”、“凭据”键名更改为字符串。

为什么我需要这样做?这是我尝试编写自己的提取代码的方式:

let data = {
    "Username": "Joe.Blow@mywebsite.com","Password": "Password","KeepMeSignedIn": true,"KeepMeSignedInMinutes": 1500,"KeepNextBestActionCookieInMonths": 9,"Userbrowser": "Chrome","UserbrowserLanguage": "en-GB","UserOS": "macOS: 10.14.6"
};


fetch('https://www.easyjet.com/ejrebooking/api/v44/account/login',{
    method: 'POST',mode: 'cors',credentials: 'include',body: JSON.stringify(data),headers: {
        "accept": "application/json,en-US;q=0.9,en;q=0.8","x-requested-with": "XMLHttpRequest"
    }
  })
  .then(response => response.json())
  .then(json => console.log("json",json))
  .catch(err => console.log("err",err));

但是,如果我将对象键放在字符串中,它就可以工作。我很确定您应该将对象键名放在字符串中?

let data = {
    "Username": "Joe.Blow@mysite.com",{
    "method": 'POST',"mode": 'cors',"credentials": 'include',"body": JSON.stringify(data),"headers": {
        "accept": "application/json,err));

任何关于如何成功传递这些参数/标头的想法都会很棒。

谢谢, 蕾娜

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。