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

为什么我的jQuery Ajax调用失败并返回错误0?

问题排查与解决方案

你的代码本身不存在语法错误,Ajax请求返回状态码0通常是请求被中断或者跨域限制导致的,可按以下方向排查解决:

  • 原因1:表单默认提交行为被触发
    如果你的#submitOne是<form>标签内的提交按钮,点击时会触发表单默认的页面刷新操作,尚未完成的Ajax请求会被强制中断,就会返回状态码0。
    解决方法:修改点击事件的回调,阻止默认行为即可:
$('#submitOne').click(function(e) {
  e.preventDefault(); // 新增这一行阻止默认提交
  // 后续原有代码保持不变
})
  • 原因2:跨域资源共享(CORS)限制
    你用了完整的http://localhost开头的接口地址,如果你的前端页面是直接打开的本地HTML文件(地址栏为file://开头),或者前端部署的域名、端口和接口不一致,浏览器会出于安全策略拦截响应,导致请求返回状态码0。
    解决方法:
  1. 优先将前端页面也部署在localhost的同一服务下,用相同的域名端口访问页面,不要直接打开本地HTML文件
  2. 也可以在服务端getCountryCode.php文件最开头添加CORS允许头:
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
  • 原因3:返回内容不符合JSON格式要求
    你在请求中指定了dataType: 'json',如果服务端返回的内容不是合法JSON格式(比如存在多余的空格、PHP报错信息、非JSON的文本内容),也会触发请求失败。
    临时排查方法:可以先把dataType改成text,如果能正常拿到返回内容,就说明是服务端返回的JSON格式存在问题,排查PHP端的输出即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:00:04