Javascript 如何模拟ajax响应
如何模拟ajax响应 提供指向答案的链接,但链接已断开 提供以下答案,但它与Javascript 如何模拟ajax响应,javascript,jquery,ajax,http,mocking,Javascript,Jquery,Ajax,Http,Mocking,如何模拟ajax响应 提供指向答案的链接,但链接已断开 提供以下答案,但它与$有关。ajax不是一个函数 $。ajax必须是一个函数,否则它不会返回承诺 函数ajax\u响应(响应){ var deferred=$.deferred().resolve(响应); 延迟返回。承诺(); } $.ajax=函数(){ 返回ajax_响应([1,2,3]); }; $.ajax('GET','some/url/i/fancy').done(函数(数据){ console.log(数据);//[1,2
$有关。ajax不是一个函数
$。ajax
必须是一个函数,否则它不会返回承诺
函数ajax\u响应(响应){
var deferred=$.deferred().resolve(响应);
延迟返回。承诺();
}
$.ajax=函数(){
返回ajax_响应([1,2,3]);
};
$.ajax('GET','some/url/i/fancy').done(函数(数据){
console.log(数据);//[1,2,3]
});代码>
完美。感谢您有可能让ajax\u response
返回一个函数,这样您就不需要手动重新定义$。ajax
每次您想用不同的响应模拟它时。顺便说一句,您应该让ajax\u response
返回一个函数,它将充当$。ajax
:函数ajax\u response(response){return function(){var deferred…}}
function ajax_response(response) {
var deferred = $.Deferred().resolve(response);
return deferred.promise();
}
$(function() {
$.ajax = ajax_response([1, 2, 3]);
$.ajax('GET', 'some/url/i/fancy').done(function(data) {
console.log(data); // [1, 2, 3]
});
});