我是相当新的Grails的,和一般的前端开发,所以请与我裸...JQuery的Ajax请求的Grails控制器不工作
在下面的“简单”的Ajax登录例子,我使用JQuery将表单参数提交给Grail的控制器。但是,实际的URL与ajax调用中配置的控制器URL不匹配。
HTML:
value="${user?.username}" />
default="Password" value="${user?.password}" />
Remember
me
的Javascript:
$('#ajaxLoginBtn').click(function() {
$('#ajaxLoginError').fadeOut();
$.ajax({
url: "${createLink(controller: 'user', action: 'ajaxLogin')}",
type: 'GET',
data: queryString,
dataType: 'json',
success: function(data) {
if (data.isAuthenticated) {
// Display user bar
$('#loginUserBar').slideDown();
}else {
$('#ajaxLoginError').html(data.errorMsg).fadeOut();
}
}
});
});
而且,任何人都可以验证我的控制器逻辑。我收集这是解析JSON响应的正确方法?
服务器:
def ajaxLogin = {
boolean isExists = false
String errorMsg = ""
def foundUser = User.findByEmailAndPassword(params.username, params.password)
if (foundUser) {
isExists = true
}else {
errorMsg = "Login unsuccessful! Either the username, or password entered is incorrect."
}
render(content: 'text/json',
loginResponse(isAuthenticated: isExists, errorMsg: errorMsg));
}
同样,有什么我需要做的,明确强制的Grails使用jQuery作为主要的Javascript插件?
感谢, -Tom