我是symfony的初学者并且有一个问题。
我正在尝试从thenewbostom进行电子邮件验证。
在指南中他说你需要将php文件放在.post函数中。使用普通的PHP我可以很容易地做到这一点,但是我知道不同的地图结构。
有人可以给我一个正确的方向吗?
我的树枝(只有带跨度的电子邮件输入)
<input id="autocomplete" type="text" name="email" class="autocomplete validate">
<span id="email_feedback"></span>
我的js(我在twig文件和post函数中链接)
function validate_email (email) {
$.post(/*php file is supoosed to be here*/,{ email:email}, function (data) {
$('#email_feedback').text(data);
});
}
$('#autocomplete').focusin(function () {
if ($('#autocomplete').val() === '') {
$('#email_feedback').text('Type een geldige email');
} else {
validate_email($('#autocomplete').val());
}
}).blur(function () {
$('#email_feedback').text('');
}).keyup(function () {
validate_email($('#autocomplete').val());
});
最后一个我的php文件
/**
* @Route("/")
*/
public function indexAction()
{
if (isset($_POST['email'])) {
$email = $_POST['email'];
echo $email;
}
return $this->render('BontekoeCinemaBundle:Default:index.html.twig');
}
答案 0 :(得分:1)
来自JQuery API文档:jQuery.post( url [, data ] [, success ] [, dataType ] )
,所以基本上你想写
function validate_email (email) {
$.post('http://myhost.com/myRoute1', { email:email}, function(data) {
$('#email_feedback').text(data);
});
}
然后你需要实现路线
/**
* @Route("/")
*/
public function indexAction()
{
if (isset($_POST['email'])) {
$email = $_POST['email'];
echo $email;
}
return $this->render('BontekoeCinemaBundle:Default:index.html.twig');
}
/**
* @Route("/myRoute1")
*/
public function autoCompleteEmailAction()
{
// get parameter(s)...
// search in database...
// return result(s)...
}