2013-09-16 2 views
1

Mockjax установки:

$.mockjax({ 
    url: "/api/get", 
    responseTime: 100, // default: 500 
    dataType: "json", 
    data: { action: "all" }, 
    proxy: "data.json", 
    status: 400 
}); 

Призыв к mockjax:

$.ajax({ 
    url: '/api/get', 
    dataType: "json", 
    data: { action: "all" } 
}) 
.always(function() { 
    //something 
}) 
.done(function(json) { 
    console.log("done"); 
}) 
.fail(function() { 
    console.log("error"); 
}); 

mockjax правильно возвращает данные (JSON), но проблема, что всегда вызывается обратный вызов done() (и никогда не fail()), независимо от установленного номера статуса mockjax.

Но если я намеренно установил плохой прокси-канал, то только fail() уволен.

Что дает?

+1

Кажется, ошибка с mockjax. Вы должны указать ошибку. Пока вы можете передавать результаты через '.then()' и сбой, если он видит статус, отличный от 2xx. – jcbelanger

+0

Спасибо за подсказку. Я опубликовал вопрос о mockjax github. – Saran

ответ

1

Проблема фиксируется в Mockjax v1.5.3.

0

the mockjax issue Пока не будет решен, здесь (некоторые) обходные пути, что огонь $.ajax.fail() обратного вызова:

  • isTimeout: true
  • уродливы proxy: путь
Смежные вопросы