0
현재 WebAPI 용 Pluralsight 교육을 진행 중입니다. 몇 가지 문제가 있습니다. (예제 다운로드는 작동하지 않으므로 도움이되지 않습니다. 코스가 베타 버전으로 생성되었으며 사용하고 있습니다. .Net 4.5와의 최종 버전). 나는 다음과 같은 HTML과 매우 간단한보기를 만든 : 양식 제출로 전환 될 때 발생하도록되어 무엇WebAPI가 직렬화되지 않음
<form onsubmit="return submitCourse();">
<input type="text" name="name" id="name" />
<input type="submit" value="Create Course" />
</form>
<h1 id="msg"></h1>
<script>
//1: have form - get values from form - send to API as json
//2: use form values
function submitCourse() {
//$.ajax({
// url: '/api/courses',
// type: 'POST',
// dataType: 'json'
//});
$.ajax({
url: '/api/courses/',
type: 'POST',
dataType: 'json',
success: function (newCourse) {
var msg = 'New course id = ' + newCourse.id;
$('#msg').text(msg);
}
});
return false;
}
</script>
스크립트가 먼저 실행하고 양식 데이터는 AJAX 호출을 통해 나를 위해 전송된다.
public Course Post(Course newCourse)
{
newCourse.id = _courses.Count;
_courses.Add(newCourse);
//TODO : return 201
return newCourse;
}
다양한 도구를 통해 파고
, 나는 위의 스크립트를 전송하지 않는 것 발견 : Post 메소드가 내 컨트롤러에 당한다 때이 발생하고있어 문제는 "newCourse"매개 변수는 항상 null입니다 데이터 (내용 길이가 0), 그러나 왜 (WebAPI 및 jQuery의 $ .ajax() 호출 새로) 이유를 알아낼 수가 없어. 나는 명시 적으로 $ .ajax() 호출 내에서 "data"옵션을 사용하여 폼의 값을 설정하려고 시도했다. (예 : 데이터 : { 'name': $ ('name').()})하지만 그 중 많은 것도하지 않았습니다. 콘텐츠 길이가 변경된 것으로 보였으 나 (이유는 확실하지 않음) 값은 아직 비 직렬화되지 않았습니다.팁이 있습니까? 나는 어디에서 시작해야하는지 알기 위해이 두 가지 기술에 너무 초보적이다.
완벽하게 작동했습니다. 감사합니다. – RubyHaus