काम नहीं करती है जब मैं अपना वेबएपीआई नियंत्रक कहता हूं जिसमें कोई पैरामीटर नहीं है, तो यह विधि पर जाता है। हालांकि, जब मैं पैरामीटर पास करता हूं (और जब मैं पैरामीटर के साथ एपीआई नियंत्रक भी अपडेट करता हूं) इसमें पहली स्निपेट के नीचे स्निपेट दिखाई देता है तो मुझे 405 त्रुटि मिलती है कि यह पोस्ट का समर्थन नहीं करता है।पैरामीटर के साथ वेबपी पोस्ट विधि
var captchURL = "/api/Captcha";
$.ajax({
url: captchURL,
dataType: 'json',
contentType: 'application/json',
type: 'POST'
})
var jsondata = {solution: "7", answer: "7"};
var captchURL = "/api/Captcha";
$.ajax({
url: captchURL,
dataType: 'json',
contentType: 'application/json',
type: 'POST',
data: JSON.stringify(jsondata)
})
अद्यतन - नियंत्रक कोड:
public class CaptchaController : ApiController
{
private readonly ICaptchaService _service;
public CaptchaController(ICaptchaService service)
{
_service = service;
}
public Captcha Get()
{
return _service.Get();
}
[HttpPost]
public bool Post(string solution, string answer)
{
return _service.Post();
}
}
अद्यतन - WebApiConfig: क्योंकि मैं समाधान नहीं है और जवाब देने के पैरामीटर (में
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
यह है मेरी WebApiConfig) कि यह उन्हें पहचान नहीं है?
मैं गलत तरीके से क्या कर रहा हूं?
अपने नियंत्रक से पोस्ट कोड – jpgrassi
@jpgrassi - मैंने नियंत्रक कोड के साथ अपडेट किया - मैंने पोस्ट विधि – webdad3
@ वेबडैड 3 में पैरामीटर भी जोड़े हैं, आपने डेटा को स्ट्रिंग क्यों किया है, मुझे लगता है कि आपको डेटा नहीं होना चाहिए: jsondata' पर्याप्त है – meda