Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何修复在尝试通过paypal api创建付款时的响应:{type:“cors”}_Javascript_Reactjs_Paypal_Cors_Fetch - Fatal编程技术网

Javascript 如何修复在尝试通过paypal api创建付款时的响应:{type:“cors”}

Javascript 如何修复在尝试通过paypal api创建付款时的响应:{type:“cors”},javascript,reactjs,paypal,cors,fetch,Javascript,Reactjs,Paypal,Cors,Fetch,我正在测试FetchAPI,以便使用PayPal plus创建付款 我的第一个fetch函数工作正常,我做了一个Oauth来获取承载令牌,这样我就可以获取我的访问令牌来进行支付 callPaypal = async () => { try { const details = { grant_type: "client_credentials" }; var formBody = []; for (var propert

我正在测试FetchAPI,以便使用PayPal plus创建付款

我的第一个fetch函数工作正常,我做了一个Oauth来获取承载令牌,这样我就可以获取我的访问令牌来进行支付

callPaypal = async () => {
    try {
      const details = {
        grant_type: "client_credentials"
      };
      var formBody = [];
      for (var property in details) {
        var encodedKey = encodeURIComponent(property);
        var encodedValue = encodeURIComponent(details[property]);
        formBody.push(encodedKey + "=" + encodedValue);
      }
      formBody = formBody.join("&");
      var request = {
        method: "POST",
        headers: {
          "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
          Authorization:
            "Basic <secrets>",
          "cache-control": "no-cache"
        },
        body: formBody
      };
      const res = await fetch("https://api.sandbox.paypal.com/v1/oauth2/token", request);
      const data = await res.json();
      console.log(data);
      const access_token = data.access_token;
      this.makePaymentPaypal(access_token);
    } catch (error) {}
  };
编辑了这个问题,因为我已经解决了它,下面的代码丢失了,我需要将响应转换为json

      const data = await res.json();
      console.log(data)
添加此新代码之前的旧错误消息为:

Response {type: "cors", url: "https://api.sandbox.paypal.com/v1/payments/payment", redirected: false, status: 201, ok: true, …}

我终于找到了解决方案,代码还行,缺少的是需要用json()转换响应,如下所示:

  const res = await fetch("https://api.sandbox.paypal.com/v1/payments/payment", request);
  var data = await res.json();
  console.log(data);
在我将res.json添加到响应之后,我可以正确地读取它

  const res = await fetch("https://api.sandbox.paypal.com/v1/payments/payment", request);
  var data = await res.json();
  console.log(data);