Javascript 为什么我的自定义标题会给出一个“quot;适配器操作失败";错误?
你好!今天,我正在尝试向我后端的每个请求添加自定义标题。 使用我的Javascript 为什么我的自定义标题会给出一个“quot;适配器操作失败";错误?,javascript,jquery,ajax,ember.js,ember-data,Javascript,Jquery,Ajax,Ember.js,Ember Data,你好!今天,我正在尝试向我后端的每个请求添加自定义标题。 使用我的DS.RESTAdapter,我已经尝试了: 3个标题:建议的解决方案 2ajax:提出的方法 以及我发现的两个jQuery变通方法(基于$.ajaxPrefilter和$.ajaxSetup) 到目前为止,我唯一的结果是这个非常模糊的“适配器操作失败”错误: { details: "", status: 0, title: "The backend responded with an error" } 我知道:
DS.RESTAdapter
,我已经尝试了:
- 3个
建议的解决方案标题:
- 2
提出的方法ajax:
- 以及我发现的两个jQuery变通方法(基于
和$.ajaxPrefilter
)$.ajaxSetup
{
details: "",
status: 0,
title: "The backend responded with an error"
}
我知道:
- 我的后端运行良好,返回200状态(我测试了通过cURL发送请求)
- 奇怪的是,删除适配器的
,但显然是错误的URL主机设置允许发送请求
- 我的问题不是CSP问题,因为我目前正在本地运行后端和前端
任何帮助都会很好
- 余烬
1.13.11
- 余烬数据
1.13.15
- jQuery
1.11.3
编辑:魔术最小的应用程序复制的错误是! 希望你会喜欢!因为我非常爱你们,我还在我的服务器上提供了一个演示API端点。详情在调频 奖金你知道在剪贴板上放什么最酷吗?
git克隆https://github.com/imbrou/ember-data-headers-demo.git
耶,耶!(:通常“适配器操作失败”发生错误,因为您的应用程序连接到后端时出现问题,通常是DS。重新适配器
设置不正确,请确保您的主机和命名空间
正确
例如:
export default DS.RESTAdapter.extend({
host: 'http://193.137.170.210:8080',
namespace: '/api'
});
已解决!
我的后端没有发送正确的CORS头
棘手的是,由于未知的原因,我的Firefox版本(开发者版…)在调试时没有在我的网络检查器中显示失败的选项请求。因此,我根本没有调试信息
我只能使用……Wireshark!
这可能是一个在圣诞节更新中解决的错误,因为我今天无法复制它。太糟糕了
无论如何,在绝望中,我链接了3个截图:
:没有后端安全性(没有“授权”令牌)
:客户端请求“authorization”标头,服务器在飞行前的响应中允许该标头
:客户端请求“授权”标头,但服务器不允许
希望有帮助,谢谢@Vítor的支持!谢谢你的回答!我仔细检查了我的重新适应程序的配置,一切都很好(没有标题)如果我删除标题:
钩子。是否还有另一个参数我可能忘记了?我想我已经正确设置了host
和namespace
。