H5 页面在 安卓 8.1 系统版本中 浏览器打开获取不到数据 status
返回0
这种要怎么改?
ajax({
url: host + '/activity/homepage',
type: 'GET',
async: true,
dataType: 'json',
data: dataParams,
success: res =>{
}
})
H5 页面在 安卓 8.1 系统版本中 浏览器打开获取不到数据 status
返回0
这种要怎么改?
ajax({
url: host + '/activity/homepage',
type: 'GET',
async: true,
dataType: 'json',
data: dataParams,
success: res =>{
}
})
在安卓 8.1 系统版本中,浏览器可能由于一些原因无法成功完成 AJAX 请求,导致 status
返回 0
。这种情况通常与跨域请求、网络问题、或者浏览器安全策略有关。以下是一些建议的解决步骤:
检查跨域问题:
Access-Control-Allow-Origin
为 *
(不推荐用于生产环境,因为这是一个安全风险)。检查网络连接:
检查请求参数:
host
、dataParams
等参数正确无误,并且服务器能够正确解析这些参数。使用错误回调处理:
error
回调来处理 AJAX 请求失败的情况。这样你可以获取更多关于失败原因的信息。更新浏览器和安全设置:
检查服务器日志:
尝试使用其他 AJAX 库:
$.ajax
)来发送请求,看看问题是否仍然存在。考虑使用 Fetch API:
下面是一个添加了错误回调的示例代码:
ajax({
url: host + '/activity/homepage',
type: 'GET',
async: true,
dataType: 'json',
data: dataParams,
success: res => {
// 处理成功响应
},
error: xhr => {
// 处理错误
console.error('AJAX 请求失败', xhr.status, xhr.statusText);
}
});
请尝试以上步骤,并仔细检查你的代码和服务器设置,以找到导致问题的具体原因。如果问题仍然存在,你可能需要提供更多的上下文信息,如服务器配置、网络请求的完整日志等,以便进一步诊断问题。
3 回答1.6k 阅读✓ 已解决
5 回答758 阅读
2 回答1.4k 阅读✓ 已解决
5 回答2k 阅读
1 回答1.7k 阅读✓ 已解决
4 回答863 阅读✓ 已解决
2 回答1.4k 阅读
感谢各位大佬的热心留言,我的问题解决了,是跨域导致的!
我在发送请求的时候添加了请求头
token,userId,Content-Type
此时后端通过
CORS
解决跨域问题可以看到此时
Access-Control-Expose-Headers: *
问题正是出在这里
可以看这篇文章写的很清晰再遇CORS -- 自定义HTTP header的导致跨域
也可以参考这个问题 参考链接
服务端应该修改
Access-Control-Allow-Headers
中的*
号为具体的字段这里是修改后的样子,至此问题解决
