Ich habe einen AJAX POST-Anruf an meinen Dienst wcf. Es funktionierte gut, als ich eine Zeichenfolge (Json-Payload) zurückgab, aber sobald ich ein "HttpResponseMessage" -Objekt zurückgab, begann es, mir den ERR_CONNECTION_RESET zu geben. Die gleiche Nutzlast wurde zurückgegeben, mit der Ausnahme, dass ich jetzt die richtigen Antworten wie 200 und 404 zurückgeben möchte. Hier
ist der Ajax-Aufruf:
function Login (cred) {
$.ajax({
type: "POST",
url: ServerConfig.Server + ServerConfig.Service + "/login/",
// The key needs to match your method's input parameter (case-sensitive).
data: JSON.stringify(cred),
contentType: "application/json",
dataType: "json",
crossDomain: true,
beforeSend: function(xhr) {
xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
},
error: loginFailed,
success: loginSuccess
});
}
und hier ist die meine Wcf-Methode:
public HttpResponseMessage Login(string username, string password)
{
repository = new DbRepository();
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.BadRequest);
var res = string.Empty;
var user = repository.Login(username, password);
if (null != user)
{
res = JsonConvert.SerializeObject(user);
response = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StringContent(res)
};
}
else
{
return response;
}
return response;
}
Ich habe bestätigt, dass es wieder zu bespannen durch Umschalten funktioniert wie erwartet. Kann jemand etwas beleuchten, was passieren könnte?
Danke.
EDIT: Hier ist, was meine 'credibility' Objekt aussieht und wie es erstellt wurde:
$('.signin').on("click", function() {
var user = $('.username').val();
var pass = $('.password').val();
var cred = { "username": user, "password": pass };
Login(cred);
});
Die JSON.stringify (CRED) sieht wie folgt aus:
{"username":"Test1234","password":"TestPassword!"}
Können Sie teilen, wie JSON.stringify (cred) aussieht? –
@OzanGanceler - Ich habe meine Frage mit diesen Informationen aktualisiert. Danke für die Zeit. – DeepToot
Haben Sie versucht, JSON.stringify zu entfernen? Setzen Sie Daten direkt auf das Cred-Objekt –