서버에 배포 한 후 MVC3보기, 로컬 디버그가 정상적으로 작동합니다. 눈에 거슬리지 않는 유효성 검사가 전혀 실행되지 않았 음을 알았습니다. 눈에 띄지 않는 유효성 검사가 실행되지 않음
나는 정적 HTML 파일에 출력을 저장하고 모든 불필요한 코드를 제거하고 내가 적절한 자바 스크립트 파일을 포함 믿습니다<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
Dummy
</title>
<link type="text/css" href="/Content/site.css" rel="stylesheet" />
<script type="text/javascript" src="/Scripts/jquery-1.6.4.js"></script>
<script type="text/javascript" src="/Scripts/jquery.validate.js"></script>
<script type="text/javascript" src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script type="text/javascript" src="/Scripts/jquery.unobtrusive-ajax.js"></script>
</head>
<body>
<form action="/Test/Dummy" data-ajax="true" data-ajax-complete="MyDummy.OnComplete" data-ajax-method="Post" id="form0" method="post">
<select data-val="true" data-val-number="The field SourceId must be a number." data-val-required="SourceId required." id="SourceId" name="SourceId"></select>
<span class="field-validation-valid" data-valmsg-for="SourceId" data-valmsg-replace="true"></span><br />
<select data-val="true" data-val-number="The field DestinationId must be a number." data-val-required="DestinationId required." id="DestinationId" name="DestinationId"></select>
<span class="field-validation-valid" data-valmsg-for="DestinationId" data-valmsg-replace="true"></span><br />
<input type="submit" value=" Submit " class="ButtonStyle" />
</form>
<script type="text/javascript">
var MyDummy = {
OnComplete: function (content) {
alert(content.responseText);
}
}
</script>
</body>
</html>
나머지 다음 섹션의 모든 렌더링 된 HTML이 나에게 잘 보인다. 제출 버튼을 클릭하면 유효성 검증 메시지가 필요하지만 대신 완료되지 않은 이벤트가 발생합니다.
나는 여기에서 매우 분실되어 있습니다. 아무도 실마리가 무엇입니까?
편집 한
, 나는 http://localhost:48194/test.htm (내 로컬 ASP.NET 개발 서버)를 통해 내 로컬 프로젝트의 폴더 액세스를 동일한 정적 HTML 파일을 복사하고 모든 것이 잘 작동합니다. 하지만 2008 년 서버의 로컬 IE8 인 http://localhost:87/test.htm (IIS 7)에서 같은 파일을로드하면 문제가 발생합니다. 어떻게 든 JavaScript 파일에 대한 액세스를 차단하거나 부분적으로 차단하는 IIS7 설정이 잘못되었다고 생각합니까?편집 2, 나는 그것이 작동하는 그런
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.4.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.unobtrusive-ajax.js"></script>
같은 CDN을 사용하는 JS 참조를 변경하는 경우. IIS7이 로컬 JS 파일 전송을 손상시키기 위해 할 수있는 일은 지금 정말로 모른다.
html 용 jsfiddle가 만들어졌습니다. http://jsfiddle.net/epignosisx/jcPNu/. 로드에 실패한 리소스에 대해 Firebug의 네트워크 탭을 확인 했습니까? – epignosisx
Filddler를 사용하고 다음 파일이 순서대로로드됩니다. 304 - HTTP - /test.htm; 304 - HTTP - /Content/site.css; 304 - HTTP - /Scripts/jquery.validate.js; 304 - HTTP - /Scripts/jquery-1.6.4.min.js; 304 - HTTP - /Scripts/jquery.validate.unobtrusive.js; 304 - HTTP - /Scripts/jquery.unobtrusive-ajax.js; 내가 어떤 파일도 놓친 적이 없다고 생각하지 마라. – hardywang
프로덕션 서버의 URL을 노출 할 수 있습니까? – epignosisx