标签: http-options-method

为什么我收到OPTIONS请求而不是GET请求?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script>
<script>
$.get("http://example.com/", function(data) {
     alert(data);
});
</script>
Run Code Online (Sandbox Code Playgroud)

它对该URL执行OPTIONS请求,然后从不使用任何内容调用回调.

当它不是跨域时,它工作正常.

不应该只是jQuery与一个<script>节点进行调用,然后在加载时进行回调吗?我明白我无法得到结果(因为它是跨域的),但那没关系; 我只是希望电话通过.这是一个错误,还是我做错了什么?

jquery xmlhttprequest http-get http-options-method

278
推荐指数
3
解决办法
32万
查看次数

HTTP协议的PUT和DELETE以及它们在PHP中的用法

介绍

我读过以下内容:

超文本传输​​协议(HTTP)是网络的生命.每次传输文档或发出AJAX请求时都会使用它.但是,令人惊讶的是,在某些Web开发人员中,HTTP相对未知.

HTTP谓词构成了我们"统一接口"约束的主要部分,并为我们提供了与基于名词的资源相对应的动作.主要或最常用的HTTP谓词(或方法,因为它们被正确调用)是POST,GET,PUTDELETE.

咦?

好吧,我们突然忘记了事情.

PUT并且DELETE,他们说.我只听说过POSTGET,从来没有见过类似的东西$_PUT或者$_DELETE在我曾经看到任何PHP代码经过.

我的问题

这些方法(PUT)和(DELETE)是什么,如果可以在PHP中使用它们,我将如何解决这个问题.

注意:我知道这不是一个真正的问题但我总是抓住一个学习机会,如果我看到一个,并且非常想学习在PHP中使用这些方法,如果可能的话.

php http http-put http-delete http-options-method

56
推荐指数
5
解决办法
6万
查看次数

如何使用Spring MVC处理HTTP OPTIONS?

我想使用我的控制器使用Spring MVC拦截OPTIONS请求,但它被DispatcherServlet捕获.我该如何管理?

java http spring-mvc http-options-method

27
推荐指数
3
解决办法
3万
查看次数

如何在Spring Boot中处理HTTP OPTIONS请求?

首先,我读过" 如何使用Spring MVC处理HTTP OPTIONS? "但答案似乎并不直接适用于Spring Boot.

看起来我应该这样做:

通过将其设置为dispatchOptionsRequest来配置dispatcherServlet true

但是如何做到这一点,因为我没有XML配置,或者DispatcherServlet我的代码中有任何类型的初始化器类(这个答案提到)?

@RestController类中,我有一个这样的方法,目前不会被调用.

@RequestMapping(value = "/foo", method = RequestMethod.OPTIONS)
public ResponseEntity options(HttpServletResponse response) {
    log.info("OPTIONS /foo called");
    response.setHeader("Allow", "HEAD,GET,PUT,OPTIONS");
    return new ResponseEntity(HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)

Spring Boot 1.2.7.RELEASE; 一个简单的设置与Spring REST指南中的设置没有什么不同 .

spring spring-mvc http-options-method spring-boot

27
推荐指数
1
解决办法
3万
查看次数

在nginx中处理OPTIONS请求

我们目前正在使用HAProxy作为负载均衡器,它会定期向下游框发出请求,以确保它们使用OPTIONS请求存活:

选项/index.html HTTP/1.0

我正在使用缓存(使用ncache)将nginx设置为反向代理.出于某种原因,当OPTIONS请求进入时,nginx返回405:

192.168.1.10 - - [22/Oct/2008:16:36:21 -0700]"OPTIONS /index.html HTTP/1.0"405 325" - "" - "192.168.1.10

当直接点击下游网络服务器时,我得到了适当的200响应.我的问题是:如何让nginx将响应传递给HAProxy,或者,如何在nginx.conf中设置响应?

http nginx haproxy http-options-method

26
推荐指数
2
解决办法
3万
查看次数

将JSON数据从JQuery发送到WCF REST方法时出现问题

我在使用jquery将一些json数据发布到我在WCF服务上的rest方法时遇到了一些麻烦.

在WCF方面,这是操作合同:

[OperationContract]
[WebInvoke(Method = "POST",
           BodyStyle = WebMessageBodyStyle.Bare,
           RequestFormat = WebMessageFormat.Json,
           ResponseFormat = WebMessageFormat.Json,
           UriTemplate = "PostSomething")]
MyResult PostSomething(MyRequest request);
Run Code Online (Sandbox Code Playgroud)

双方MyResultMyRequest标有所有必要DataContractDataMember属性和服务暴露WebHttp端点.

在JQuery方面,这是我的函数调用:

var jsonStr = JSON.stringify(reqObj);

$.ajax({
    type: "POST",
    dataType: "json",
    url: "http://localhost/MyService/PostSomething",
    contentType: "application/json; charset=utf-8",
    data: jsonStr,
    success: function (html) {
        alert(html);
    }
});
Run Code Online (Sandbox Code Playgroud)

这个请求永远不会到达我的方法(我每次都得到一个405方法不允许),并查看Charles的请求如下所示:

OPTIONS /MyService/PostSomething HTTP/1.1
Host: localhost
Cache-Control: max-age=0
Access-Control-Request-Method: POST
Origin: null
Access-Control-Request-Headers: Content-Type, Accept
Accept: */*
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 …
Run Code Online (Sandbox Code Playgroud)

rest wcf jquery http-options-method

22
推荐指数
1
解决办法
3万
查看次数

Phil Sturgeon的Codeigniter Restserver和Backbone.js中的HTTP OPTIONS错误

backbone.js当我尝试将模型保存到位于另一个主机/ URL上的restful Web服务时,我的应用程序抛出了HTTP OPTIONS not found错误.

根据我的研究,我从这篇文章中收集到:

请求将不断发送OPTIONS http请求标头,并且根本不会触发POST请求.

显然CORS的请求将"对用户数据产生副作用"将使您的浏览器"预检"带有OPTIONS请求标头的请求以检查批准,然后再实际发送您的预期HTTP请求方法.

我试图绕过这个:

  • 将Backbone中的emulateHTTP设置为true.

Backbone.emulateHTTP = true;

  • 我还允许在标题中允许所有CORS和CSRF选项.

    header('Access-Control-Allow-Origin:*');
    header("Access-Control-Allow-Headers:Origin,X-Requested-With,Content-Type,Accept"); header("Access-Control-Allow-Methods:GET,POST,OPTIONS");

Backbone.emulateHTTP引入代码行时,应用程序崩溃了.

有没有办法在CodeIgniter RESTServer中响应OPTIONS请求,是否还有其他选择允许从谈话地点禁用此请求?


在Github上找到了这个解决方案.我不确定我是否应该使用它,因为它看起来有点过时了.

rest codeigniter backbone.js http-options-method codeigniter-restserver

15
推荐指数
2
解决办法
2万
查看次数

如何处理ASP.NET MVC中的"OPTIONS方法"

我的Sencha Touch应用程序正在将表单发布到我的 WebService,但不是发送POST它的发送OPTIONS.

我在这里读了一个类似的线程,但我不知道如何处理OPTIONS我的代码中的方法.

我确实尝试将[AllowAjax]属性添加到我的Action中,但它似乎不存在于MVC3中.

选项/ GetInTouch/CommunicateCard HTTP/1.1
主机:webservice.example.com
参考资料:http://192.168.5.206/ Access-Control-Request-Method:POST
来源:http://192.168.5.206
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0)AppleWebKit/534.24(KHTML,与Gecko一样)Chrome/11.0.696.71 Safari/534.24
Access-Control-Request-Headers:X-Requested-With,Content-Type
Accept:/
Accept-Encoding: gzip,deflate,sdch
Accept-Language:en-US,en; q = 0.8
Accept-Charset:ISO-8859-1,utf-8; q = 0.7,*; q = 0.3

在我的ActionMethod中,我使用以下代码.

    public JsonpResult CommunicateCard(CommunicateCard communicateCard)
    {

        // Instantiate a new instance of MailMessage
        MailMessage mMailMessage = new MailMessage();

        // removed for security/brevity

        // Set the body of …
Run Code Online (Sandbox Code Playgroud)

ajax asp.net-mvc-3 http-options-method

14
推荐指数
3
解决办法
2万
查看次数

如何在nginx中处理"OPTIONS*"请求?

在我的环境中,我使用perlbal将请求重定向到nginx.如果启用了verify_backend.perbal会向nginx发送一个"OPTIONS*"请求,但是nginx会将其作为一个错误的请求进行响应.

根据RFC2616:

如果Request-URI是星号(" "),则OPTIONS请求通常应用于?服务器而不是特定资源.由于服务器的通信选项通常取决于资源,因此" "请求仅用作"ping"或"no-op"类型的方法; 除了允许客户端测试服务器的功能之外,它什么都不做.例如,这可以用于测试HTTP/1.1合规性(或缺乏)的代理.

我认为perlbal试图发送这种请求,但是nginx默认不能处理这个问题.

当我尝试发送请求"OPTIONS*HTTP/1.0"时,我总是得到"HTTP 400错误请求":

127.0.0.1 - - [18/Feb/2013:03:55:47 +0000]"OPTIONS*HTTP/1.0"400 172" - "" - "" - "

但它适用于没有星号请求的"OPTIONS/HTTP/1.0"选项:

127.0.0.1 - - [18/Feb/2013:04:03:56 +0000]"OPTIONS/HTTP/1.0"200 0" - "" - "" - "

如何配置nginx以使其响应http返回200而不是HTTP返回400?

http nginx bad-request http-options-method

12
推荐指数
1
解决办法
5668
查看次数

如何在rails-api中响应OPTIONS HTTP方法?

我正在使用rails-api构建一个公共的json api.

我想回应OPTIONS HTTP方法以利用跨源资源共享.

http://www.w3.org/TR/cors/

我这样做:

headers['Access-Control-Allow-Methods'] = 'POST, PUT, DELETE, GET, OPTIONS'
Run Code Online (Sandbox Code Playgroud)

它可以工作,但有些URL不支持所有HTTP方法.在那些情况下,我撒谎.

我不想为每个URL配置Access-Control-Allow-Methods.

有没有办法根据我的路线响应Access-Control-Allow-Methods?

ruby-on-rails cors http-options-method rails-api

12
推荐指数
1
解决办法
5851
查看次数