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

使用本地数组作为源时jQuery autocomplete仍报JSON解析错误如何解决

问题排查方案

以下是按优先级排列的排查步骤:

  • 修复jQuery无冲突模式兼容问题
    WordPress 核心默认加载的jQuery启用了无冲突模式,全局$变量未直接绑定到jQuery实例,未做兼容的代码会出现逻辑异常,甚至意外调用其他同名全局方法触发无效AJAX请求。将你的代码替换为下方兼容写法:
jQuery(function($) {
    $(".registration#billing_company").autocomplete({
        source: ["Result1", "Result2"]
    });
});
  • 确认当前引入的autocomplete组件类型
    大量WordPress主题、WooCommerce、表单插件自带的autocomplete组件和jQuery UI Autocomplete重名,这类组件的source参数仅支持远程接口地址,不接受本地数组。传入数组时会被强制转为请求地址的一部分,返回的404/错误页面为HTML格式,开头<字符就会触发你遇到的JSON解析报错。可在控制台执行$.fn.autocomplete查看输出的函数源码,确认是否为你预期使用的jQuery UI Autocomplete组件。
  • 修正选择器避免匹配多余元素
    ID属性在DOM规范中是唯一的,你当前使用的.registration#billing_company混合类+ID选择器,若页面存在重复ID的隐藏字段,该字段可能已被其他代码绑定了带远程请求的autocomplete逻辑,触发报错的是该隐藏字段的绑定而非你写的本地数组配置。可直接改用ID选择器$("#billing_company")测试验证。
  • 排查全局配置修改
    如果确认使用的是jQuery UI Autocomplete,可检查是否有其他代码修改了全局默认配置$.ui.autocomplete.prototype.options,强制拦截了source参数将本地数组转为远程请求,可在初始化时额外添加minLength: 3参数,观察报错触发时机是否符合配置,判断是否存在全局逻辑篡改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:42:01