javascript - 如何模拟 ajax 响应

标签 javascript jquery ajax http mocking

如何模拟 ajax 响应?

https://stackoverflow.com/a/13915248/1032531提供指向答案的链接,但该链接已损坏。

https://stackoverflow.com/a/29680013/1032531提供了以下答案,但它出错了 $.ajax is not a functionhttps://jsfiddle.net/bdw0gfan/

 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]
   });
 });

最佳答案

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

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>

关于javascript - 如何模拟 ajax 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52795112/

相关文章:

javascript - map 中的多个样式集群

javascript - 测试手动引导的 Angularjs 应用程序

javascript - 弹出 div 中的 Bxslider

javascript - AJAX 请求无法从 Rails 应用程序中的 Controller 获取实例变量

jquery - 多个分隔符的自动完成功能在 IE 中不起作用

javascript - 如何使用 Javascript 通过单个提交按钮提交多个动态生成的表单? [部分进展]

javascript - 查找小于输入的所有质数

javascript - 带有位置条件的 jQuery 可拖动

javascript - 没有 JQuery 的 AJAX POST 到 PHP

php - 你如何在没有多个数据库连接的情况下执行多个 AJAX 请求?