用于发送 ajax/JSON 请求的 JQuery 快捷方式

JQuery shortcut for sending ajax/JSON requests

本文关键字:请求 JQuery 快捷方式 JSON ajax 用于      更新时间:2023-09-26

我正在开发一个使用 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 应该有一个预先存在的函数。

有人知道这样的功能吗?

只需将所有内容包装在一个函数中并传递所需的参数即可。

var thinPostWrapper = function(url, data, success) {
    return $.ajax({
        url: url
        type: 'POST',
        contentType: "application/json",
        data: JSON.stringify(data),
        success: success
    });
}
thinPostWrapper('/api/something/', {"key" : "value"}, function(data) {
    console.log("data : %o", data);
});

尝试扩展 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);
});

试试

$.post(
   'api/something', 
   { key: 'value' }, 
   function( data ) {
     ...
   }, 
   'json'
);

有关更多详细信息,请参阅 http://api.jquery.com/jquery.post/

尝试使用 $.post

$.ajax({
 type: "POST",
 url: url,
 data: data,
 success: success,
 dataType: dataType
});