jQuery'nin AJAX işlevini geçersiz kılmak yerine, .appendTo tarafından geliştirilen jQuery Mockjax eklentisini de kullanabilirsiniz. Bu eklenti aslında diğer cevabın önerdiği şeyi yapar, ancak çok daha karmaşık alaylara izin verir. Eğer işlevi varsa, örneğin,: İkinci alaycı fonksiyonu dahil edilebilir
$.mockjax({
url:"/api/user",
type:"GET",
response:function(requestData){
//handle the mock response in here
this.responseText = '{"fullname":"Mr. Foo Bar"}';
}
});
:
$.ajax({
url:"/api/user",
type:"GET",
dataType:"json",
data:'{"uid":"foobar"}',
success:function(data){
console.log("Success!");
},
error:function(data){
console.log("Error!");
}
});
Sadece otomatik jQuery dahildir fonksiyon mockjax, çağırarak mockjax ile alay edebilir harici bir JavaScript dosyasında "mocks.js" deyin ve yapılması gereken tek şey, mockjax kütüphanesini içerir (https://github.com/appendto/jquery-mockjax/ adresinde bulunabilir). Akılda tutulması gereken tek şey, bu sadece tüm XMLHttpRequests değil, jQuery ajax çağrıları alay olacaktır. Bunu yapmak isterseniz, @ bertvh'in tavsiyelerini takip edin ve Sinon.js'yi kullanın.
Bu fonksiyonu (param) {seçenekleri = param;} almak için yaklaşık yarım saat sürdü, ama sonra bana çarptı .. . Gerçekten havalı. –
Güzel. Gerçekten hoş. – StuperUser
Yuvalanmış aramaları test ediyorsanız, bu seçenekler bir dizide en iyi şekilde tutulur ve her bir çağrıda .push() seçenek nesneleri bu diziye alınır mı? – StuperUser