2016-06-15 15 views
0

Ich entwickelte eine WebApi und Client-Seite zum Testen. Hier ist mein Controller405 Fehler beim Aufruf von Webapi Get-Methode mit Ajax

public class CarDetailsController : ApiController 
{ 
    // GET api/cardetails 
    [HttpGet] 
    public IEnumerable<CarsStock > GetAllcarDetails() 
    { 
     CarsStock ST = new CarsStock(); 
     CarsStock ST1 = new CarsStock(); 
     List<CarsStock> li = new List<CarsStock>(); 

      ST.CarName = "Maruti Waganor"; 
      ST.CarPrice = "4 Lakh"; 
      ST.CarModel = "VXI"; 
      ST.CarColor = "Brown"; 
      li.Add(ST); 

      ST1.CarName = "Maruti Swift"; 
      ST1.CarPrice = "5 Lakh"; 
      ST1.CarModel = "VXI"; 
      ST1.CarColor = "RED"; 
      li.Add(ST1); 

     return li; 
    } 

}

und hier ist meine Ajax-Aufruf

<button onclick="AllcarDetails()"></button> 
    <script type="text/javascript"> 
     function AllcarDetails() 
     { 
      $.ajax({ 
      type: "GET", 
      headers: { 
       'Accept': 'application/json', 
       'Content-Type': 'application/json' 
      }, 
      contentType: 'application/json', 
      url: "http://localhost:1822/api/cardetails", //URI 
      success: function (data) { 
       debugger; 
       var datadatavalue = data; 

      }, 
      error: function (xhr) { 
       alert(xhr.responseText); 
      } 
    }); 
     } 
    </script> 

Es gibt 405 Methode nicht erlaubt Fehler alle time.I versucht, durch googeln aber nicht finden können, die genaue Situation. Kann mir jemand helfen, das zu lösen?

Got Ergebnis korrekt, während aus Browsers http://localhost:1822/api/cardetails "

Aufruf
+0

so funktioniert es in einem Browser, aber wo funktioniert es dann nicht? nur eine Vermutung, versuchen Sie, die Header zu entfernen. – Spluf

+0

Beim Aufruf von ajax GET-Methode gibt es Fehler –

+0

ich entfernte, aber immer noch nicht funktioniert –

Antwort

0

Haben Sie so, dass HTTP-Aktivierung überprüfen aktiviert wird, wenn Sie diesen Code ausführen?

+0

Während ich einfach die URL im Browser anrufe, kann ich das Ergebnis bekommen, aber mit Ajax gibt es 405 Fehler –