Jquery 在Play框架中使用ajax加载模板
我正在尝试使用ajax驱动的html链接加载模板(html文件)。因此,我在左侧有一个导航栏,每个html锚调用一个jQueryAjax请求来加载右侧div中的模板 页面加载时,它是一个表单,但尝试验证表单时失败 使用ajax加载html模板有任何限制吗?如果我通过标准路由定义加载页面(http://localhost:9000/signup)它加载并验证表单 ajax代码类似于:Jquery 在Play框架中使用ajax加载模板,jquery,ajax,playframework,Jquery,Ajax,Playframework,我正在尝试使用ajax驱动的html链接加载模板(html文件)。因此,我在左侧有一个导航栏,每个html锚调用一个jQueryAjax请求来加载右侧div中的模板 页面加载时,它是一个表单,但尝试验证表单时失败 使用ajax加载html模板有任何限制吗?如果我通过标准路由定义加载页面(http://localhost:9000/signup)它加载并验证表单 ajax代码类似于: $.ajax({ url: '/signup', type: 'GET',
$.ajax({
url: '/signup',
type: 'GET',
dataType: 'html',
success: function(data){
$('#signup).html(data);
}
});
注册所做的全部工作是呈现页面:
public static signup(){
render();
}
html模板是:
#{extends 'main.html' /}
#{set title:'test the validation' /}
#{jQueryValidate class:models.User.class, key:'user' /}
<div>
<p>Candidate...</p>
<form method="POST" id="joinForm">
<p class="field">
<span class="error">#{error 'user.firstname' /}</span> <label>Mobile</label>
<input type="text" name="user.firstname"
value="${flash['user.firstname']}" />
</p>
<input type="submit" name="create" value="Register" />
doValidation是表单验证(代码取自样本和测试/验证/样本7)
在改变我的设计之前,感谢您对解决这个问题的任何见解
谢谢看起来您实际上并没有将表单的数据发送到@{candidate.index()} 因为您的代码块缺少data:property 像这样试试
$('#joinForm').submit(function(e) {
$.ajax({
type: "POST",
url: '@{candidate.index()}',
data: $('#joinForm').serializeArray(),
beforeSend: doValidation,
success: function() {
$('#success').html("created...");
}
});
e.preventDefault();
});
我找到了答案!这是一个jquery解决方案 发件人: 致:
其余的都一样。嗨,我认为这不是问题所在,因为验证是客户端的。一旦它通过了,那么它将调用@{candidate.index()}。无法理解通过Ajax加载模板时验证失败的原因感谢提示..尝试了以下数据:$(“#joinForm”).serializeArray(),它返回:[object object],[object object]
$('#joinForm').submit(function(e) {
$.ajax({
type: "POST",
url: '@{candidate.index()}',
data: $('#joinForm').serializeArray(),
beforeSend: doValidation,
success: function() {
$('#success').html("created...");
}
});
e.preventDefault();
});
$('#joinForm').submit(function(e)
$('#joinForm').live("submit", function(e)