使 spine MVC 支持 X-HTTP-Method-Override

来源:互联网 发布:sql server 2017 sn 编辑:程序博客网 时间:2024/06/07 11:07

spinejs 使用高效、方便,但它不支持 X-HTTP-Method-Override 请求头,在未开放 PUT,DELETE 的虚拟主机上无法使用 PUT 和 DELETE 请求,通过修改 spine 中的 ajax.js 可使它支持 X-HTTP-Method-Override 请求头,以 spine 1.6.0 版为例,修改方法如下:

1、在 spine->lib->ajax.js 中查找 jqXHR = $.ajax(settings);

2、在 jqXHR = $.ajax(settings); 行上面加入以下代码

if(settings.type=='PUT' || settings.type=='DELETE'){

settings.headers['X-HTTP-Method-Override'] = settings.type;
settings.type = 'POST';

}

3、保存

通过以上修改,你就能在不开放 PUT 和 DELETE 的虚拟主机上使用 spine 了,我就是用该方法在前端使用 spine 的,服务器端使用的是 PHP。


补充:

你也可以修改 coffeescript 源代码,步骤如下:

1、在 spine->src->ajax.coffee 中查找 jqXHR = $.ajax(settings)

2、在 jqXHR = $.ajax(settings) 行上面加入以下代码

      # enable request headers X-HTTP-Method-Override
      if settings.type in ['PUT','DELETE']
        settings.headers['X-HTTP-Method-Override'] = settings.type
        settings.type = 'POST'

3、保存

4、用 coffeescript 编译后使用

0 0
原创粉丝点击