Ho un'applicazione Web che utilizza MVC e AngularJS, che si collega a API Web API 2, che ho impostato in un progetto separato.HTTP Post a Web API 2 - Richiesta di opzioni ricevuta e gestita senza ulteriori richieste ricevute
Attualmente sono in grado di recuperare informazioni dall'API senza problemi.
Tuttavia, quando provo a fare un HTTP Post, non ricevo risposta, originariamente ho riscontrato un problema con la richiesta di pre-volo non riuscita, ora l'ho gestita nel mio controller, tuttavia non invia la richiesta corretta dopo che ha ricevuto un messaggio OK.
Ho incluso il mio codice per la fabbrica angolare e il controller C# nell'API.
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class RegisterController : ApiController
{
public string Post()
{
return "success";
}
public HttpResponseMessage Options()
{
return new HttpResponseMessage { StatusCode = HttpStatusCode.OK };
}
}
var RegistrationFactory = function($http, $q, ApiAddress) {
return function(model) {
// $http.post(ApiAddress.getApiAddress() + '/Register/Post', model.ToString());
$http({
method: "POST",
url: ApiAddress.getApiAddress() + '/Register/Post',
data: model,
headers: { 'Content-Type': 'application/json; charset=utf-8' }
}).success(function(data) {
$location.path("/");
});
}
};
RegistrationFactory.$inject = ['$http', '$q', 'ApiAddress'];
Edit:
non sto ancora avendo alcuna gioia con questo, però ho provato in Internet Explorer e funziona senza problemi a tutti.
Ho funzionato in chrome iniziando con la sicurezza Web disabilitata, ma ovviamente questo non è l'ideale in quanto non funzionerà su un PC utente con sicurezza abilitata.
Funziona in Firefox? – DermFrench
Sì, penso che sia un problema con la sicurezza in Chrome. –
Hai provato a pubblicare su un dominio, ad es. web.domain.com e api.domain.com per vedere se funziona quando si trovano nello stesso dominio? – DermFrench