【问题标题】:Axios post not working on React Native but works on PostManAxios 帖子不适用于 React Native 但适用于 PostMan
【发布时间】:2019-06-05 03:48:48
【问题描述】:

我一直在使用 axios 进行发布请求,但是当我在邮递员中进行发布请求时,它工作得很好,但是当我发布请求时,我的 react 本机组件显示错误,api 密钥无效。但是所有的 api 键都是正确的。我将其用于支付网关。

这个,支付网关(razorpay)提供了一个 api 密钥和秘密。我使用正确,但由于某种原因,我得到了未经授权的访问。

这是我使用 axios 的代码:

RazorpayCheckout.open(options)
    .then((data) => {
        var key = 'rzp_test';
        var key_sec = 'Oumh';
axios.post(`https://${key}:${key_sec}@api.razorpay.com/v1/payments/pay_BiG0BeVURQkxKU/capture`, {amount: 1200})
.then((data) => {
                console.log(data);
            })
            .catch((data) => {
                console.log(data);
            });
        alert(`Success: ${data.razorpay_payment_id}`);
    })
.catch((error) => {
        alert(`Error: ${error.code} | ${error.description}`);
    }); 

请指导我破解这个。当我通过用原始密钥替换 $key 和 $key_sec 将确切的 url 粘贴到邮递员中时,我得到了积极的输出。但是在 react native 中使用 axios 无法实现这一点

【问题讨论】:

  • 您似乎在错误位置提醒数据。如果你提醒console.log(data)中的数据axios post成功,你应该得到数据。
  • 不,实际上警报是针对父异步函数的。第二个 .then 函数预计会得到预期结果

标签: javascript react-native axios postman razorpay


【解决方案1】:

跨域时,axios会先发送options请求,验证是否可以通过。您可能需要删除options 请求并直接发送post 请求。

【讨论】:

    猜你喜欢
    • 2021-08-11
    • 1970-01-01
    • 2020-07-19
    • 2018-06-22
    • 2021-08-07
    • 2020-07-21
    • 2020-04-23
    • 2015-09-19
    • 2017-02-02
    相关资源
    最近更新 更多