如何模拟一个ajax响应

时间:2018-10-13 16:42:52

标签: javascript jquery ajax http mocking

如何模拟ajax响应?

https://stackoverflow.com/a/13915248/1032531提供了答案的链接,但该链接已断开。

https://stackoverflow.com/a/29680013/1032531提供了以下答案,但它与openldap错误。 https://jsfiddle.net/bdw0gfan/

$.ajax is not a function

1 个答案:

答案 0 :(得分:2)

$.ajax必须是一个函数,否则它将不会返回诺言。

function ajax_response(response) {
    var deferred = $.Deferred().resolve(response);
    return deferred.promise();
}

$.ajax = function() {
    return ajax_response([1, 2, 3]); 
};

$.ajax('GET', 'some/url/i/fancy').done(function(data) {
    console.log(data); // [1, 2, 3]
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>