You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用MAMP本地环境运行AJAX请求无法获取返回数据如何解决

问题根因

你代码中唯一的核心错误是没有正确调用请求发送方法:xhr.send只是对send函数本身的引用,没有加括号执行调用,AJAX请求根本没有被发出,自然不会触发后续的onload回调逻辑,控制台也就不会有输出。

修正后的代码

只需要修改JavaScript中send相关的一行即可,完整代码如下:

const astrosUrl = 'http://api.open-notify.org/astros.json';

function getJSON(url) {
    const xhr = new XMLHttpRequest();
    xhr.open('GET', url);
    xhr.onload = () => {
        if (xhr.status === 200) {
            let data = JSON.parse(xhr.responseText);
            console.log(data);
        }
    };
    // 此处增加括号,执行send方法发送请求
    xhr.send();
}

getJSON(astrosUrl);

HTML代码不需要做任何修改。

补充说明:如果你本地MAMP站点配置了HTTPS访问,请求HTTP接口会被浏览器安全策略拦截,只需要把astrosUrl的协议改为https即可,即const astrosUrl = 'https://api.open-notify.org/astros.json';

验证步骤
  • 保存修改后的main.js文件覆盖原有文件
  • 确保MAMP服务处于启动状态,在浏览器访问对应本地站点地址
  • 打开浏览器开发者工具的控制台面板,即可看到接口返回的太空人员数据对象正常打印

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:15:08