2016-08-01 5 views
0

Ist es möglich, einige Header hinzuzufügen, bevor Sie eine Anfrage an GET Aktion senden? Was ich tun möchte, ist zu spezifizieren Header wie:Wie kann ich meiner Anfrage in ASP.NET MVC Header hinzufügen

-Accept application/json 

-Content-Type application/json 

... bevor eine GET Methode in meinem Controller eingeben.

+0

Was Sie die Anfrage benutzen Sie Httpclient zu senden, WebClient? Bitte geben Sie einen Code an. –

Antwort

0

Wenn Sie HttpClient Senden einer GET-Anfrage verwenden, um mit Accept und Content-Type-Header wie folgt aussehen würde:

 HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, requestUri) 
     { 
      Content = content, 
     }; 
     request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
     request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); 

     HttpResponseMessage response = await client.SendAsync(request); 

Beachten Sie, dass der Code die Async-Version Senden der Anforderung verwendet, so dass Sie müssen Sie Ihre Methode mit dem Schlüsselwort "Async" dekorieren, damit dies funktioniert.

Wenn Sie die Anforderung von dem Front-End senden Sie Ajax und Ihren Code so etwas wie dies aussehen würde verwenden sollte:

$.ajax({ 
    url: 'URL HERE', 
    type: 'GET', 
    contentType: "application/json; charset=utf-8", 
    dataType: 'json', 
    success: function (data) { 
    // here goes the data that came from the response.. 
    } 
}); 
0

Wie wäre das?

$.ajax({ 
    url: '@Url.Action("GetData", "Home")', 
    type: "GET", 
    contentType: "application/json; charset=utf-8", 
    dataType: 'json', 
    success: function (result) { 
    } 
}); 

-Controller

public ActionResult GetData() 
{ 
    return Json("What I want to send", JsonRequestBehavior.AllowGet); 
}