Ich versuche, einen POST-Aufruf von einem JavaScript-Client an eine foursquare-API namens addvenue zu senden. Dies ist der API-Endpunkt documentation link.
Aber der Server gibt 405 zurück - Methode nicht erlaubt. Hier ist das Snippet, das den Anruf ausführt
var postdata = {'oauth_token':$scope.access_token_foursquare,
'v':'20141217','name':'randomlisting',
'll':'44.3,37.2','m':'foursquare'};
var req = {
method: 'POST',
url: 'https://api.foursquare.com/v2/venues/add',
headers: {
'content-type': 'application/x-www-form-urlencoded'
},
data: postdata
}
$http(req).then(function(response){
console.log(response);
});
folgend ist das Anfrage- und das Antwortpaket für den obigen Aufruf.
Remote Address:103.245.222.185:443
Request URL:https://api.foursquare.com/v2/venues/add
Request Method:OPTIONS
Status Code:405 Method Not Allowed
**Request Headers**
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:accept, authorization, content-type
Access-Control-Request-Method:POST
Connection:keep-alive
Host:api.foursquare.com
Origin:http://localhost:9000
Referer:http://localhost:9000/foursquare
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36
**Response Headers**
Accept-Ranges:bytes
Access-Control-Allow-Origin:*
Connection:Keep-Alive
Content-Length:90
Content-Type:application/json; charset=utf-8
Date:Wed, 17 Dec 2014 12:15:15 GMT
Keep-Alive:timeout=10, max=50
Server:nginx
Tracer-Time:1
Via:1.1 varnish
X-Cache:MISS
X-Cache-Hits:0
X-Served-By:cache-sn87-SIN
Ich studierte auch über CORS Problem. In meinem Fall erlaubt der Server alle Ursprünge, wie in den Antwortheadern zu sehen ist. Ich bin von diesem Problem betroffen und konnte nicht weiter vorgehen.
Jede Hilfe wäre willkommen. Vielen Dank im Voraus.
Diese Art von Frage jeden Tag stattfindet, vielleicht wird dies hilfreich: http://stackoverflow.com/questions/19554414/angularjs-disabling-cors – Rasalom
Vielen Dank für die sofortige Antwort. Ich habe Folgendes versucht, wie in dem von Ihnen angegebenen Link erwähnt. 'angular.module ('yourModuleHere') .config (function ($ httpProvider) { löschen $ httpProvider.defaults.headers.common ['X-Requested-With']; });' Immer noch das gleiche Problem. – bala
Haben Sie die Lösung gefunden, teilen Sie sie bitte – MohQut