Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
197
rated 0 times [  198] [ 1]  / answers: 1 / hits: 62539  / 12 Years ago, fri, november 30, 2012, 12:00:00

When I send this ajax rquest:



$.ajax({
headers : {
'Accept' : 'application/json',
'Content-Type' : 'application/json'
},
url : 'http://localhost:8080/wutup/venues/12',
type : 'PATCH',
data : JSON.stringify({description: 842490812321309213801923 gonzagazors}),
success : function(response, textStatus, jqXhr) {
console.log(Venue Successfully Patched!);
},
error : function(jqXHR, textStatus, errorThrown) {
// log the error to the console
console.log(The following error occured: + textStatus, errorThrown);
},
complete : function() {
console.log(Venue Patch Ran);
}
});


I receive this error:



XMLHttpRequest cannot load http ://localhost:8080/wutup/venues/12. Method PATCH is not allowed by Access-Control-Allow-Methods.



However, using curl:



 $ curl -v -H Accept: application/json -H Content-type: application/json -X PATCH -    d' {address: 8421 Gonzaga Ave}'  http://localhost:8080/wutup/venues/12 

About to connect() to localhost port 8080 (#0)
Trying 127.0.0.1... connected
Connected to localhost (127.0.0.1) port 8080 (#0)
PATCH /wutup/venues/12 HTTP/1.1
User-Agent: curl/7.21.1 (i686-pc-mingw32) libcurl/7.21.1 OpenSSL/0.9.8r zlib/1.2.3
Host: localhost:8080
Accept: application/json
Content-type: application/json
Content-Length: 57

HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Access-Control-Allow-Origin: *
Date: Fri, 30 Nov 2012 08:14:35 GMT

Connection #0 to host localhost left intact
Closing connection #0

More From » jquery

 Answers
56

The $.ajax method does support HTTP PATCH.



The problem you are seeing is that the ajax method looks for PATCH in the Access-Control-Allow-Methods response header of the options preflight check. Either this header is missing from your response, or the PATCH method was not included in the value of this header. In either case, the problem is in the server, not in your client-side code.



Here's an example using Java:



response.addHeader(Access-Control-Allow-Methods, GET, POST, PATCH, PUT, DELETE);

[#81698] Thursday, November 29, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
briarc

Total Points: 402
Total Questions: 85
Total Answers: 114

Location: El Salvador
Member since Sun, Sep 12, 2021
3 Years ago
;