1
我對Grails很新,所以請耐心等待。Grails從視圖訪問控制器值
我的觀點有JavaScript代碼喜歡這樣的:
//js code in my View
function validateEmailAndSetEmail(){
var result =${remoteFunction(controller:'myController',action:'validateEmail',update:'responseDiv', params:'\'email=\'+document.getElementById(\'email\').value')};
if (result) { //doSomething}
}
和我的控制器看起來像:
def validateEmail = {
def emailToValidate = request.getParameter("email")
def matchingEmailFound = myService.checkEmailAddress(emailToValidate)
if (matchingEmailFound){
render "This email is already in use.<br>If you have already created an account with this email, please try to reset the password from Login page."}
else{
//setEmail to send here
render "This email is not in use. This email will be used as your account email"}
return !matchingEmailFound
我的問題有兩個部分:
當我檢查值結果在我的螢火蟲js代碼中,它是 不是布爾類型(true/false),並且該值似乎不正確,是否有任何方法可以正確地將此值 傳遞給控制器視圖中的js?
我可以在 控制器中調用設置的電子郵件值給某個變量,並在我的視圖中調用js外部的變量嗎?
在此先感謝。
謝謝,它工作得很好。除了我更改了 $('responseDiv')。innerHTML = r.message; to var r = eval('('+ response.responseText +')'); – grailsDev
var r = JSON.parse(response.text); var r = eval('('+ response.responseText +')'); – grailsDev
和$('responseDiv')。innerHTML = r.message;到$('responseDiv')。update(r.message); – grailsDev