In $ http.post Methode bekomme ich 405 Problem. Für beide POST & GET-Methoden verwenden wir einen einzelnen Dienst (REST).
wenn URL mit localhost es funktioniert. urlAddScenario ist localhost/Service.svc/api/szenarios/hinzufügen. Wenn ich den Computernamen anstelle von locahost verwende, funktioniert es nicht. machinname/Service.svc/api/Szenarien/add
Mein JS-Code ist
scenarioExecutionFactory.addScenario = function (scenarioId) {
return $http.post(urlAddScenario, scenarioId)
};
anotherJS:
var runScenarioId = { "ScenarioId": 10 }
scenarioExecutionFactory.addScenario(runScenarioId)
.success(function (data) {
$scope.getScenarioRecentRuns($scope.CurrentScenario);
});
WCF Service:
[OperationContract]
[WebInvoke(UriTemplate = "api/scenarios/add",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
Method = "POST")]
Request AddScenario(ScenarioRequestParams requestParams);
config:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Credentials" value="true" />
<add name="Access-Control-Allow-Methods" value="GET,POST,PUT,OPTIONS" />
<add name="Access-Control-Allow-Headers" value="Origin,Content-Type,Accept,Authorization,X-Ellucian-Media-Type" />
</customHeaders>
</httpProtocol>
Ich sehe OPTIONS anstelle von POST in Kopfzeilen.
Headers:
**OPTIONS** http://ddd/HelloService/HelloService.svc/PostData HTTP/1.1
Accept: */*
Origin: http://localhost:31284
Access-Control-Request-Method: POST
Access-Control-Request-Headers: accept, content-type
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko
Host: vijayakatta
Content-Length: 0
DNT: 1
Connection: Keep-Alive
Pragma: no-cache
Fehler:
IE: SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, wird der Zugriff verweigert.
Chrome: XMLHttpRequest kann htp // machinename/services.svc/api/scenarios/add nicht laden. Ungültige HTTP-Statuscode 405
Antwort-Header: HTTP/1.1 405 Methode nicht
erlaubt
Überprüfen Sie die Antwort auf diese Frage Frage http://stackoverflow.com/questions/17528634/ajax-post-works-vs-angularjs-http -does-not-work-w-asp-net-mvc-4 – hknust