得到:$ . GET (. .)

职位:$ . POST () . .

PUT/DELETE呢?


当前回答

我写了一个jQuery插件,它包含了这里讨论的跨浏览器支持的解决方案:

https://github.com/adjohnson916/jquery-methodOverride

点击这里查看详情!

其他回答

阿贾克斯()

寻找参数类型

这里也可以使用其他HTTP请求方法,如PUT和DELETE,但并非所有浏览器都支持它们。

你可以使用ajax方法:

$.ajax({
    url: '/script.cgi',
    type: 'DELETE',
    success: function(result) {
        // Do something with the result
    }
});

我们可以扩展jQuery来创建PUT和DELETE的快捷方式:

jQuery.each( [ "put", "delete" ], function( i, method ) {
  jQuery[ method ] = function( url, data, callback, type ) {
    if ( jQuery.isFunction( data ) ) {
      type = type || callback;
      callback = data;
      data = undefined;
    }

    return jQuery.ajax({
      url: url,
      type: method,
      dataType: type,
      data: data,
      success: callback
    });
  };
});

现在你可以使用:

$.put('http://stackoverflow.com/posts/22786755/edit', {text:'new text'}, function(result){
   console.log(result);
})

从这里复制

我写了一个jQuery插件,它包含了这里讨论的跨浏览器支持的解决方案:

https://github.com/adjohnson916/jquery-methodOverride

点击这里查看详情!

你可以在你的数据散列中包含一个名为:_method的键,值为'delete'。

例如:

data = { id: 1, _method: 'delete' };
url = '/products'
request = $.post(url, data);
request.done(function(res){
  alert('Yupi Yei. Your product has been deleted')
});

这也适用于