Ajax 를 이용 하여 controller 방법 을 호출 하고 파 라 메 터 를 전달 합 니 다.
2493 단어 웹 전단
최근 에 일 을 하면 서 얼굴 인식 기능 과 수강 신청 시스템 을 결합 시 켜 야 하지만 전단 지식 에 대한 이해 가 적어 서 하면 서 배 울 수 밖 에 없 었 습 니 다. 그래서 여기 서 만 나 는 구 덩이 를 설명 하고 저 와 같은 초보 자 에 게 도움 이 되 었 으 면 좋 겠 습 니 다.
2. 구체 적 인 내용
여기 서 프레임 워 크 는 MVC 입 니 다. 페이지 에서 폼 을 제출 하지 않 고 컨트롤 러 와 상호작용 을 하려 면 ajax 로 컨트롤 러 방법 을 호출 하고 매개 변 수 를 전달 하 며 되 돌아 오 는 json 데 이 터 를 처리 할 수 있 습 니 다. 방법 은 다음 과 같 습 니 다.
페이지 코드:
$.ajax(
{
url: '/User/facelog', // , , test.com/home/index/index
data: JSON.stringify({ stuID: stuID2 }), //
type: 'POST', //
dataType: 'json', // , JSON
contentType: 'application/json',
success: function (result) {
window.location.href = result.NextUrl;
msg = result.Msg;
console.log(result); // , result
},
error: function () {
console.log('Send Request Fail..'); //
}
}
);
컨트롤 러 코드:
[HttpPost]
public JsonResult facelog(string stuID)
{
User user = this.UserService.Select((User T) => (T.UserName == stuID) && T.Status == 0);
if (user != null)
{
base.Session["UserInfo"] = user;
AjaxMsg ajaxMsg = new AjaxMsg()
{
Statu = "ok",
Msg = " , ...",
NextUrl = "/User/Main"
};
return base.Json(ajaxMsg);
}
return base.Json(new { Statu = "error", Msg = " !"});
}
여기에 몇 개의 구덩이 가 있 으 니 특별히 설명해 야 한다.
URL 에 '/ 컨트롤 러 / 방법 명' 이 라 고 쓰 여 있 습 니 다. 컨트롤 러 는 컨트롤 러 의 전체 이름 이 아니 라 controller 를 제거 하 는 것 을 말 합 니 다. 여기 제 컨트롤 러 는 User Controller 입 니 다. 그래서 여기 User 를 쓰 십시오. 제 가 이 구 덩이 를 밟 아서 디 버 깅 을 오래 했 습 니 다.
바로 전달 매개 변수 형식 입 니 다. data 에서 전달 하 는 매개 변 수 는 동적 이기 때문에 전역 변수 저장 소 를 정 의 했 습 니 다. 여기 구 덩이 된 곳 은 stuID 2 의 값 은 다른 ajax 요청 에서 얻 었 습 니 다. 그러나 다른 데이터 가 돌아 오지 않 았 을 때 이 ajax 는 이미 실행 되 었 습 니 다. 그래서 저 는 data 가 작성 한 형식 이 틀 렸 다 고 생각 하여 데이터 가 컨트롤 러 에 전달 되 지 못 했 습 니 다 두 번 째 점 을 받 습 니 다. 하나의 ajax 실행 이 끝 난 후에 다른 것 을 실행 하려 면 async: false 를 사용 하면 됩 니 다. 기본 적 인 상황 은 true 입 니 다.
JSON. stringify 는 contentType: 'application / json' 과 함께 사용 해 야 데 이 터 를 잘 전달 할 수 있 습 니 다 데 이 터 를 되 돌려 주 는 것 에 대해 서 는 일반적으로 json 에 대한 분석 이 필요 합 니 다 .