我遇到类似的问题:Find operation (AJAX request) rejected, not seen in the wire
但是,在我的情况下,我正在提出一个请求。此请求适用于正常页面加载。它无法在表单提交(不是通过ember)之后静默加载,重定向回到同一页面。没有发出AJAX请求。
我的主要问题是:如何调试此类问题?
我尝试过什么
我在各种地方添加了console.log语句,以了解请求生命周期。
因为我已经读过如果某些东西在其中引发异常会被拒绝,我已经尝试将chrome调试器切换为“暂停所有异常”(而不是“暂停未捕获的异常”)。当然,它打破了一堆例外:
// This should fail with an exception
// Gecko does not error, returns false instead
try {
matches.call( div, "[test!='']:sizzle" );
但是既然我有办法让工作请求以及让它无法工作的方法,我可以轻松地比较差异。当我的请求失败时,我预计会有一个未被捕获的异常,但没有这样的运气。
我还添加了一个
Ember.RSVP.configure('onerror', function(error) {
console.log(error.message);
console.log(error.stack);
});
阻止,但不会被调用。
我还在控制台中的不同对象上试图了解我的应用程序状态:
store = App.__container__.lookup('store:main')
b = store.find('bundle')
b.isRejected // => true
b.reason.statusText // => "error"
更新:更多详情
我正在处理的项目由rails支持。我正在使用:
DEBUG: -------------------------------
DEBUG: Ember.VERSION : 1.0.0
DEBUG: Handlebars.VERSION : 1.0.0
DEBUG: jQuery.VERSION : 1.8.3
DEBUG: -------------------------------
它没有显示在调试输出中,但我使用的是ember-data 1.0 beta 3:
// Version: v1.0.0-beta.3
// Last commit: 2259c27 (2013-09-28 19:24:07 -0700)
应用程序加载所有包以呈现它们和表单,但表单直接提交给rails。 Rails处理发布请求并重定向回到/
,其中包含ember应用程序。
/
的第一个请求加载一切正常,但是当我提交表单时,它会重定向回来,那时我的ajax调用我的store.find('bundle')
调用什么也没做。
更新
我发现我的问题与推送器(websockets)有关。
问题似乎是间歇性的,我只在Chrome中看过它(我只测试了Firefox)。
在页面刷新之前我从websockets断开连接时,问题就消失了。
答案 0 :(得分:0)
在您的情况下,失败处理程序正在接收jQuery XMLHttpRequest。尝试查看responseText
和status
正在返回的内容。
App.__container__.lookup('store:main').find('bundle').then(null, function(reason) {
reason.responseText // response from the server, maybe can show an error page in html
reason.status // 404 page not found, 500 some server error you will need to chech the logs etc.
});
我希望它有所帮助