Winkel-5 Post-API-Aufruf

Ich bin sehr neu, um eine Winkel -, eine app zu Entwickeln, die in Winkel-5 . Ich bin versucht, post-Daten an eine API , unten ist mein code

.Net-Core-Web-API -

    [Produces("application/json")]
    [Route("api/Audit")]
         public class AuditController : Controller
        {
            private IConfiguration _configuration;
            private CommomUtility util;
            private Login Login;

            public AuditController(IConfiguration configuration)
            {
                _configuration = configuration;
                util = new CommomUtility(configuration);
                Login = new Login(configuration);
            }

            [HttpPost]
            public JsonResult Action([FromBody] List<Dictionary<string, string>> li)
            {
                DataTable dt = new DataTable();
                string jsonString = string.Empty;
                try
                {
                    if (li[0]["ActionMethod"].Equals("CheckLogin", StringComparison.InvariantCultureIgnoreCase))
                    {
                        dt = Login.checkLogin(li);
                    }
                }
                catch (Exception ex)
                {
                }
                finally
                {
                    dt.TableName = "Result";
                    jsonString = util.DataTableToJson(dt);
                }
                return Json(JObject.Parse(jsonString));
           }
        }

Winkel-Login Componenet

    import { Component, OnInit } from '@angular/core';
import { HttpClient,HttpClientModule,HttpParams,HttpHeaders } from '@angular/common/http';

@Component({
  selector: 'app-login',
  templateUrl: './login.component.html',
  styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
  username: string="";
  password: string="";
  loginBtnText: string='Log In';
  clearBtnText: string='Reset Fields';
  message:string;
  cssClass:string;

  constructor(private http:HttpClient  ) { }

  ngOnInit() {
  }

  checkLogIn(){
    const params = new HttpParams();
    params.set('ActionMethod', 'CheckLogin');
    params.set('StaffCode', '15989');
    params.set('Password', '#####');
    var queryHeaders = new HttpHeaders();
    queryHeaders.append('Content-Type', 'application/json');
   debugger
    var v= this.http.post("http://localhost:57863/api/Audit/",
      params,{ headers: queryHeaders}
    )
    .subscribe(data => 
    {alert('ok');},
     error => 
     {alert("Error");}
    );
  }

  clearFields(){
    this.username="";
    this.password="";
    this.message="";
  }

}

Bin ich aufrufen checkLogIn() auf den button klicken , nach dem Aufruf dieser API, die es zu erreichen Konstruktor der API-Klasse nur, aber er geht nicht innerhalb von API-Methode.

Ich habe meine browser-Registerkarte Netzwerk, und es zeigen

415 Unsupported Media Type

Winkel-5 Post-API-Aufruf

Wenn ich das aufrufen der Get-API (values api), die standardmäßig kommt .Net-Core-Web-API-Vorlage als es funktioniert und zeigen, Warnung, OK, scheiterte aber im Fall von POST

Update 1

Winkel-5 Post-API-Aufruf

Winkel-5 Post-API-Aufruf

  • kannst du die Beispiel-json?
  • was ist json ?
  • Anfrage json-von der POST
  • Überprüfen Sie den Abschnitt HttpParams
  • Okay, gib mir paar Minuten
  • Überprüfen Sie die Antwort, die ich zur Verfügung gestellt
  • Entweder 1. auf Ihrer web-api benutzen [FromForm] anstelle von [FromBody]. Oder 2. auf Ihre kantigen Seite, legen Sie Content-Type: application/json. Siehe stackoverflow.com/questions/44538772/...
  • fühlt sich an wie Sie nicht aktivieren CORS auf Ihrem web-api-Seite. Stellen Sie sicher, dass CORS aktiviert und erlaubt, alle Header, die Sie in Ihren Anträgen.

InformationsquelleAutor Tanwer | 2018-04-06
Schreibe einen Kommentar