로그인을 처리하기 위해 a를 사용하고 있습니다. 인증 정보가 올바르지 않은 경우 Ajax를 사용하여 동일한 웹 페이지에 오류 메시지를 인쇄하지만 성공한 경우 다른 웹 페이지로 전달하고 싶습니다. 무슨 일이 일어나고있는 건 성공의 경우에도 같은 페이지에 결과를 인쇄한다는 것입니다. 이것이 부분적으로 Ajax로 리다이렉트를 보낼 수 없다는 사실과 관련이 있다는 것을 알고 있습니다. 그러나, 그것에 대해 갈 방법을 알고 여전히 안돼서. 어떤 제안? 여기 <g : remoteForm> 리디렉션이 발생하지 않습니다.
내 GSP 섹션이 양식으로 할 필요가있다 : 여기<g:formRemote name="subForm" url="[controller:'admin', action:'authenticate']" update = "error_message">
<br><br><label>User Name (email): </label><g:textField name = "username" /><br><br>
<label>Password: </label><g:field name = "password" type = "password" /><br><br><br><br>
<div id = "error_message" style = "text-align: center"> </div>
<div style = "text-align: center">(for TWC employees only)</div>
<g:submitButton id = "submit_button" name="Submit"/>
</g:formRemote>
과하면 컨트롤러 메소드 '인증'입니다 : 그대로
def authenticate = {
try {
MongoClient mongoClient = new MongoClient("localhost", 27017)
DB db = mongoClient.getDB("admin");
def userName = params.username
def passWord = params.password
boolean auth = db.authenticate(userName, passWord.toCharArray())
if (auth)
redirect (action: loggedin)
else {
render "Login or Password incorrect!"
}
}
catch (UnknownHostException e) {
e.printStackTrace();
}
catch (MongoException e) {
e.printStackTrace();
}
}
def displayerror = {
render "Login or Password incorrect!"
}
def loggedin = {}
, 나는를 얻을 수 없다 gsp는 'loggedin'메소드에 해당합니다. 어떤 아이디어?
잘 설명해 주셔서 감사합니다.나는 당신의 대답을 upvote 하겠지만 아직 충분한 명성이 없습니다. 나는 grails 문서를 읽었으며 이제 Ajax 통신의 순서를 이해한다. 위에서 설명한 내용을 구현했지만 아직 원하는 결과를 얻지 못했습니다. 제출 버튼을 누르면 Chrome의 디버거가 Uncaught ReferenceError : e가 정의되지 않았다고 불평합니다. adminlogin : 49 jQuery.ajax.success adminlogin : 49 –
j jquery-1.11.0.min.js : 2 k.fireWith jquery-1.11. 0.min.js : 2 x jquery-1.11.0.min.js : 4 b jquery-1.11.0.min.js : 4 이것은 최소한 jQuery가 제대로로드되고 있고 Ajax 요청이 해고 당했다고합니다. 권리? 불평하는 'e'는 위의 html 샘플에서 정의한 "doresult (d)"함수에 대한 인수입니다. 더 이상의 제안? –
죄송합니다. 위의 의견은 댓글 길이 제한으로 인해 2 건의 제출에 실패했습니다. –