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

jQuery Ajax请求报错:TypeError: Cannot read properties of undefined (reading 'open')

问题排查与解决

这个TypeError: Cannot read properties of undefined (reading 'open')错误,核心原因几乎都是jQuery未被正确加载或初始化导致的——当$不是有效的jQuery对象,或者jQuery的Ajax模块未正常工作时,调用$.ajax就会触发这类读取undefined属性的报错。结合你的情况,fetch能正常运行说明API端点和浏览器环境没问题,问题完全出在jQuery的使用环节。

具体排查与修复步骤:

  • 确认jQuery加载状态:在浏览器控制台执行console.log($)和console.log(jQuery),如果返回undefined,说明你没有正确引入jQuery库。检查HTML中的jQuery脚本标签路径是否正确,且必须在你的Ajax代码之前加载。
  • 规避全局变量冲突:如果页面同时引入了其他类库(比如Prototype),可能会覆盖$变量。可以尝试把$.ajax替换成jQuery.ajax来测试。
  • 清理冗余参数:GET请求不需要设置contentType: "application/json"(GET请求没有请求体),虽然这不是报错的直接原因,但去掉可以避免潜在问题。另外注意done回调里的conole.log是拼写错误,应该改为console.log。

修正后的jQuery代码示例:

// 先验证jQuery是否加载成功
if (typeof jQuery !== 'undefined') {
    jQuery.ajax({
        url: window.location.origin + "/api/test",
        type: "GET",
        dataType: "json",
        cache: false
    })
    .done(function (json) {
        console.log(json);
    })
    .fail(function (xhr, status, error) {
        console.log(xhr);
        console.log(status);
        console.log(error);
    });
} else {
    console.error("jQuery未正确加载");
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 17:42:38