ASP.NET MVC3을 사용하여 폼의 데이터를 컨트롤러의 함수에 게시하는 데 Jquery/Ajax를 사용하고 있습니다. 내가 겪고있는 문제는이 코드를 인덱스 뷰에 넣을 때 제대로 작동하지만 같은 코드를 CreatePost 뷰에 넣을 때 작동하지 않는다는 것입니다. 나는 경고를 기반으로 컨트롤러의 기능에 중단 점을 설정하여 작동 여부를 알 수 있습니다.ASP.NET MVC3 Jquery/Ajax 문제
내 컨트롤러 BlogController라고하며이 함수가 모습입니다 :
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult CreateEntry(string title, string body)
{
return Json(false);
}
내보기의 코드는 다음과 같습니다 (지금의 더미 기능) :
<script type="text/javascript">
$(function() {
$(".error").hide();
});
function SubmitEntryPostForm() {
var blogEntry = {
'title': $('#EntryTitle').val(),
'body': $('#EntryBody').val()
};
$.ajax({
type: "POST",
url: "blog/CreateEntry",
data: blogEntry,
success: function() {
alert("it worked");
}
});
return false;
}
function ValidateCreateEntry() {
$(".error").hide();
var title = $("#EntryTitle").val();
if (title == "") {
$("#title_error").show();
$("#EntryTitle").focus();
return false;
}
var body = $("#EntryBody").val();
if (body == "") {
$("#body_error").show();
$("#BodyTitle").focus();
return false;
}
return SubmitEntryPostForm();
}
<div id="CreateEntry">
<form action="">
<fieldset>
<label for="title" id="title_label">Title</label>
<input type="text" name="title" id="EntryTitle" size="30" />
<label class="error" for="title" id="title_error">This field is required.</label>
<br />
<label for="body" id="body_label">Content</label>
<input type="text" name="body" id="EntryBody" size="30" />
<label class="error" for="boby" id="body_error">This field is required.</label>
<br />
<input type="submit" name="submit" class="button" id="CreateEntryButton" value="Send" onclick="return ValidateCreateEntry();" />
</fieldset>
</form>
'CreatePost'는 어떻게 생겼습니까? –
콘솔에 오류가 있습니까? 응답은 무엇입니까? –
색인과 작성 우편은 둘 다 자바 스크립트와 동일한 양식을 포함한다는 점에서 동일합니다. – MaxGeek