Hallo Ich arbeite an einer Xamarin Forms App, die einen Login-Bildschirm hat, wenn der Benutzer den Benutzernamen und das Passwort eingibt und auf den Login-Button klickt, der mit meinem Web-Service validiert werden soll . jedoch ist es nicht zu tun, dass ich nur die Anmeldung fehlgeschlagen NachrichtXamarin Forms Login-Seite stellt keine Verbindung zu meinem Web-Service her
EDIT: Jetzt bekomme ich einen Absturz auf iOS mit dem folgenden Fehler:
The certificate for this server is invalid. You might be connecting to a server that is pretending to be “service.brainstorminstruments.com” which could put your confidential information at risk.
heren meinem XAML-Code:
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="LoginNavigation.LoginPage" Title="Login">
<ContentPage.ToolbarItems>
<ToolbarItem Text="Sign Up" Clicked="OnSignUpButtonClicked" />
</ContentPage.ToolbarItems>
<ContentPage.Content>
<StackLayout VerticalOptions="StartAndExpand">
<Label Text="Username" />
<Entry x:Name="usernameEntry" Placeholder="username" />
<Label Text="Password" />
<Entry x:Name="passwordEntry" IsPassword="true" />
<Button Text="Login" Clicked="OnLoginButtonClicked" />
<Label x:Name="messageLabel" />
</StackLayout>
</ContentPage.Content>
</ContentPage>
EDIT ich wurde mit der falschen Klasse
heren den Code hinter:
using System;
using System.Collections.Generic;
using System.Net.Http;
using Newtonsoft.Json;
using Xamarin.Forms;
namespace LoginNavigation
{
public partial class LoginPage : ContentPage
{
public LoginPage()
{
InitializeComponent();
}
async void OnSignUpButtonClicked (object sender, EventArgs e)
{
await Navigation.PushAsync (new SignUpPage());
}
async void OnLoginButtonClicked (object sender, EventArgs e)
{
var postContent = new FormUrlEncodedContent(new[] {
new KeyValuePair<string, string>("username","usernameEntry"),
new KeyValuePair<string, string>("password","passwordEntry")
});
var httpClient = new HttpClient();
var serverResponse = await httpClient.PostAsync("https://service.brainstorminstruments.com/api/login", postContent);
var serverResponseString = await serverResponse.Content.ReadAsStringAsync();
//theEditor.Text = serverResponseString;
Response theResponseObject = JsonConvert.DeserializeObject<Response>(serverResponseString);
if (theResponseObject.status == "success") {
App.IsUserLoggedIn = true;
Navigation.InsertPageBefore (new MainPage(), this);
await Navigation.PopAsync();
} else {
messageLabel.Text = "Login failed";
passwordEntry.Text = string.Empty;
theEditor.Text += theResponseObject.status + "\n";
theEditor.Text += theResponseObject.message + "\n";
}
}
}
}
Ich bin neu auf http-Client, so dass jede Hilfe toll wäre!
Vielen Dank im Voraus!
Haben Sie tatsächlich die Antwort, die Sie für alle Fehlercodes oder Meldungen wieder vom Server untersucht? Wenn Sie überhaupt eine Antwort erhalten, bedeutet das, dass es sich mit dem Server verbinden konnte. – Jason
@Jason Ich habe nicht – Phoneswapshop
Warum haben Sie Anmelde-und Login-Handler auf beiden Seiten? Bist du sicher, dass es den richtigen Namen ruft? – Jason