进行 Ajax 调用的替代方法有哪些?

新手上路,请多包涵

我想知道进行 AJAX 调用的最佳方式是什么。

这就是我现在所拥有的,而且效果很好。

 $.ajax({

    url: "/rest/computer",
    type: "GET",
    dataType: "json",

    data: {
        assessmentId: "123",
        classroomId:  "234"
    },

    success: function(objects) {

    // .... code ....

    }
});


我目前正在寻找另一种进行 Ajax 调用的方法。如果有,我应该使用我的方法吗?

我应该将 Ajax 调用移到它自己的函数中并回调它吗?

对此的任何建议将不胜感激。

原文由 code-8 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 305
2 个回答

是的,还有一些其他方法可以调用 ajax

查询

var get_data = function(){
    var result = false;
    $.get('/rest/computer').done(function(awesome_data){
        result = awesome_data;
    });

    return result;
}

$.getJSON

 $.getJSON( '/rest/computer', { assessmentId:"123", classroomId:"234"})
  .done( function(resp){
    // handle response here
}).fail(function(){
   alert('Oooops');
});

如果您没有在代码中使用 jQuery,那么这个答案适合您

你的代码应该是这样的:

 function foo() {
    var httpRequest = new XMLHttpRequest();
    httpRequest.open('GET', "/rest/computer");
    httpRequest.send();
    return httpRequest.responseText;
}

var result = foo(); // always ends up being 'undefined'

原文由 Bhavin Solanki 发布,翻译遵循 CC BY-SA 3.0 许可协议

所有现代浏览器都 支持 一个新的异步 获取 API

 fetch('./api/projects', {
        method: 'post',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            title: 'Beispielprojekt',
            url: 'http://www.example.com',
        })
    })
    .then(response => { console.log(response); })
    .catch(error => { console.error(error); });

有关更多信息,请参阅 这篇文章

原文由 Nasser Abbassi 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题