You need to enable JavaScript to run this app. WIX VELO中Fetch API发起GET请求返回空JSON且方法变为POST问题
优惠活动
大模型
产品
解决方案
定价
更多

WIX VELO中Fetch API发起GET请求返回空JSON且方法变为POST问题

问题根因
  • 混淆了两层请求的方法:前端调用Wix后端.jsw函数时,Wix底层默认会发送POST请求到Wix自身的服务端点,这个不是发往AgileCRM的请求方法。你在options里定义的GET是实际发往CRM的请求方法,不会在前端的网络请求日志里直接显示,你之前看到的POST是前端到Wix后端的调用请求,属于正常现象。
  • 异步密钥获取逻辑错误:getSecret是异步函数,你在顶级作用域直接赋值password = getAPIKey()、username = getUsername()时没有加await,拿到的是Pending状态的Promise对象,不是实际的密钥字符串。用这两个Promise拼接后生成的Authorization鉴权头完全错误,导致AgileCRM鉴权失败返回空响应。
  • getContacts函数没有返回处理后的结果,只在后端打印日志,前端调用后自然拿不到返回值,看起来响应为空。
  • options在模块顶级作用域初始化,此时密钥还未获取成功,后续调用函数时不会重新生成正确的请求头。
修正后的代码

后端agileapi.jsw代码

//agileapi.jsw
import {fetch} from 'wix-fetch';
import base64 from "nodejs-base64-encode";
import {getSecret} from 'wix-secrets-backend';

const url = "https://photodynamic.agilecrm.com/dev/api/contacts";

export async function getContacts() {
    // 每次调用时再异步获取密钥,确保拿到实际字符串
    const password = await getSecret("AGILERESTAPI");
    const username = await getSecret("AGILEUSERNAME");
    
    const options = {
        "method": "GET",
        headers: {
            "Authorization": 'Basic ' + base64.encode(username + ":" + password, 'base64'),
            "Content-Type": "application/json",
        }
    }
    
    try {
        const response = await fetch(url, options);
        if(!response.ok) {
            throw new Error('Fetch did not succeed: ' + response.status);
        }
        const result = await response.json();
        console.log("CRM返回结果:", result);
        // 必须return结果,前端才能拿到
        return result;
    } catch (err) {
        console.error("请求错误:", err);
        throw err;
    }
}

前端页面代码

//wix debug page code
import {getContacts} from 'backend/agileapi'

$w.onReady(function (){
   $w("#getContacts").onClick( async (event) => {
        try {
            const contacts = await getContacts();
            // 前端可以拿到返回的联系人数据
            console.log("前端拿到的联系人:", contacts);
        } catch (err) {
            console.error("调用失败:", err);
        }
    })
});

内容的提问来源于stack exchange,提问作者Bromox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 19:27:05