阿罗哈!今天,我尝试为每个请求添加自定义标头到我的后端。
使用我的DS.RESTAdapter
,我已经尝试过了:
3个headers:
解决方案建议 in the official guide 。
提出了2个ajax:
方法 around there 。
我找到了 there 的2个jQuery解决方法(基于$.ajaxPrefilter
和$.ajaxSetup
)。
到目前为止,我唯一的结果是这个非常模糊"适配器操作失败" 错误:
{
details: "",
status: 0,
title: "The backend responded with an error"
}
我知道:
host
设置可以发送请求,但显然是在错误的网址上。根据我的调试和我的网络检查器标签,AJAX请求永远不会被发送(XHR.readyStatus
被卡在0)。
有人已经面对这个吗?
任何帮助都会非常可爱!
1.13.11
1.13.15
1.11.3
希望你喜欢它!因为我非常爱你,我还在我的服务器上提供了一个演示API端点。调频中的细节!
BONUS!你知道放入剪贴板最酷的东西是什么吗?
git clone https://github.com/imbrou/ember-data-headers-demo.git
Yeeeeeeha! ( - :
答案 0 :(得分:1)
通常“适配器操作失败”错误,因为您的应用程序在连接到后端时遇到问题,通常DS.RESTAdapter
未正确设置,请确保host
和namespace
是正确的。
示例:
export default DS.RESTAdapter.extend({
host: 'http://193.137.170.210:8080',
namespace: '/api'
});
答案 1 :(得分:1)
解决了!
我的后端没有发送正确的CORS标头。
棘手的是,由于未知原因,我的Firefox版本(Developer Edition ...)在调试时没有在我的网络检查器中显示失败的OPTIONS请求。因此我根本没有调试信息。
我只能观察失败的预检使用... Wireshark!
它可能是圣诞节更新中解决的错误,因为我今天无法重现它。太糟糕了......
无论如何,在绝望中,我链接了3个截图:
希望它有所帮助,感谢@Vítor的支持!