Javascript jqueryajax请求PUT失败,但它正在与Postman一起工作

Javascript jqueryajax请求PUT失败,但它正在与Postman一起工作,javascript,cors,Javascript,Cors,我正在尝试提出如下ajax请求: function updateLastSeen() { var url = 'http://my.url.com/conversation/' + $('#conversationId').val() + '/seen/' + $('#senderId').val(); $.ajax({ type: 'PUT', url: url, contentType: "application/json",

我正在尝试提出如下ajax请求:

function updateLastSeen() {
    var url = 'http://my.url.com/conversation/' + $('#conversationId').val() + '/seen/' + $('#senderId').val();
    $.ajax({
        type: 'PUT',
        url: url,
        contentType: "application/json",
        success: function(result) {
            alert('Logged out')},
        error: function(result) {
            alert('error')
        }
    });
}
飞行前的请求如下所示:

Request headers
OPTIONS http://my.url.com/conversation/3/seen/3 HTTP/1.1
Host: m.url.com
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Origin: null
Access-Control-Request-Method: PUT
Connection: keep-alive
这就是答案

HTTP/1.1 200 OK
Date: Wed, 15 Apr 2015 06:16:54 GMT
Server: Apache
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: *
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
Keep-Alive: timeout=5, max=98
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/json
因此,根据我的说法,它应该是有效的。但是我得到一个错误,访问控制允许方法不允许方法PUT

我还试图通过邮递员,看看是否有一个后端的问题,这是完全模糊的我,但通过邮递员它的工作!那么我做错了什么

带有邮递员的请求标头:

PUT /conversation/4/seen/3 HTTP/1.1
Host: my.url.com
Connection: keep-alive
Content-Length: 0
Pragma: no-cache
Cache-Control: no-cache
Origin: chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36
Content-Type: text/plain;charset=UTF-8
Accept: */*
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,nl;q=0.6
Cookie: _ga=GA1.2.1794721550.1428851890

检查添加方法重写头是否有效$.ajax{….头:{X-HTTP-method-override:PUT};我只是尝试了一下,但它似乎并没有改变结果Postman成功运行的请求和响应。在Postman中,我只输入了正确的URL,没有其他内容,响应是预期的用户最后一次看到的时间戳。这是响应头:访问控制允许头→ 来源,X-Requested-With,内容类型,接受访问控制允许方法→ * 访问控制允许源→ * 联系→ 保持活动内容类型→ 应用程序/json日期→ 2015年4月15日星期三06:59:17格林尼治标准时间保持活力→ 超时=5,最大服务器数=100→ Apache传输编码→ Chunked但是请求头的内容是什么?这可能有助于确定邮递员没有发送的邮件,从而收到成功的回复。