我正在使用REST架构样式的应用程序上工作。因此,我经常使用JSON数据对后端进行一些调用。

jQuery是我的新手,到目前为止,对我而言唯一有效的语法是:

$.ajax({
  url: '/api/something/',
  type: 'POST',
  contentType:"application/json", //Or I will get 400 : Bad request
  data: JSON.stringify({key : "value"}),
  success: function (data) {
    console.log("data : %o", data);
  }
});

但是我不想在每次调用时都明确地编写contentType:"application/json"JSON.stringify。我更喜欢这样的东西:
$.someFunction({
  url: '/api/something/',
  type: 'POST',
  data: {key : "value"},
  success: function (data) {
    console.log("data : %o", data);
  }
});

也许我可以创建一个函数以将其分解,但是我觉得jQuery应该为此预先存在一个函数。

有人知道这样的功能吗?

最佳答案

尝试扩展jQuery:

$.extend({doPost: function(url, data, success, error) {
    $.ajax({
        url: url,
        type: 'POST',
        contentType: "application/json",
        data: JSON.stringify(data),
        success: success,
        error: error
    });
  }
});

$.doPost('/api/something/', {"key" : "value"}, function(data) {
    console.log("data : %o", data);
});

09-11 07:15
查看更多