ASP.NET MVC は初めてです。私はVS2012でMVC4を扱っています。私はIDを取得し、すべて正常に動作しています。ajax コードで http リクエストを get から post に変更すると、500 エラーで失敗します。
質問 1 - この種の問題をデバッグするにはどうすればよいですか 2 - この特定のインスタンスでなぜそれが起こっているのですか
これは、ルーティングコードに何を含めるべきかを理解していないことに関係があると確信しています
私が重要だと思うコード
//the controller method
[System.Web.Mvc.HttpPost]
public void PostPatientAppointment(PatientAppointment patientAppointment)
{
init();
updatePatientAppointmentList();
foreach (PatientAppointment existingPatientAppointment in patientAppointments)
{
if (patientAppointmentConflict(existingPatientAppointment, patientAppointment ))
{
throw new HttpException(409, "Conflict");
}
}
//return patientAppointment;
}
function onMouseUp(evt) {
rect = null;
mouseDown = false;
//check for conflicting appointments
//do the xhr request
//cycle through appointments looking for conflicts
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
//open Dojo modal dialogue
alert("will open dialogue");
}
else if( xmlhttp.status == 409)
{
alert("There is a conflict with that patient appointment");
}
alert("hmm - status was: " + xmlhttp.status );
}
}
var patientAppointment = "{'identity':-1,'doctorId':-1,'patientId':-1,'patientName':null,'startTime':-1, 'endTime':-1,'location':null,'reason':null,'note':null,'recurrenceId':0,'appointmentTypeId':0,'patientShowedUp':false,'confirmed':false,'fullDayEvent':false}";
xmlhttp.open("POST", "/api/PatientAppointment/", true);
xmlhttp.send(patientAppointment);
}
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional}
);
}
}