从Wix访问第三方API

时间:2018-07-31 19:11:15

标签: javascript wixcode

我正在尝试与第三方API通信。我用python编写了API。我想使用用户表单和文本框从Wix网页更新数据库中的名称列。数据库更新和所有端点都可以使用邮递员进行响应以进行测试。我认为问题出在Wix端的JavaScript中。

我在以下Wix示例中对JavaScript进行了建模: https://support.wix.com/en/article/calling-server-side-code-from-the-front-end-with-web-modules

我有一个名为placeOrder的后端模块,存储在orderplaced.jsw中,该模块应该将变量“名称”发布到api。

import { fetch } from 'wix-fetch';
// wix-fetch is the API we provide to make https calls in the backend

export function placeOrder(name) {
 return fetch("https://reliableeparts.pythonanywhere.com/user", {
        method: 'post',
        name: JSON.stringify({ name })

    }).then(function (response) {
 if (response.status >= 200 && response.status < 300){
            console.log(JSON.stringify({ name }))
 return response.text();}

    console.log(Error(response.statusText))



 return Error(response.statusText);}

    );
}

前端模块等待按钮单击,并将文本框存储在名称变量中。

{
import {placeOrder} from 'backend/orderplaced.jsw';

export function button1_click(event, $w) {
     placeOrder(
         $w("#input1").value)

         .then(function() {
            console.log("Form submitted to backend.");
        }
     );
}
}

输出: output 2 该代码似乎到达了后端。我认为问题出在我的placeOrder函数中,因为我对JavaScript不太熟悉。

1 个答案:

答案 0 :(得分:1)

您的代码似乎合法。问题出在服务器上。当我尝试向该地址发送POST请求时,我收到了500 Internal Server Error

您可以选中此curl并自己测试服务:

curl -i -X POST -H "Content-Type:application/json" https://reliableeparts.pythonanywhere.com/user -d '{"name":"test123"}'

您可能缺少服务器期望的正确对象结构,或者缺少服务器POST(或两者都有)的正确标头

确保您遵循该服务器允许的API