单击同一网页上的HTML按钮后运行Symfony PHP控制器代码

单击同一网页上的HTML按钮后运行Symfony PHP控制器代码,php,html,symfony,Php,Html,Symfony,如何在单击HTML按钮后运行Symfony PHP控制器函数,而不在浏览器中打开其他网页 我的控制器PHP代码: class DefaultController extends Controller { public function indexAction() { $sql = $this->container->get('database_connection'); $users = $this->container->

如何在单击HTML按钮后运行Symfony PHP控制器函数,而不在浏览器中打开其他网页

我的控制器PHP代码:

class DefaultController extends Controller
{
    public function indexAction()
    {
        $sql = $this->container->get('database_connection');

        $users = $this->container->get('security.context')->getToken()->getUser();
        //$tcredit=$users->getcredit();

        $sqlo = $sql->query("SELECT * FROM user WHERE username='batman'");
        while ($row = $sqlo->fetch(PDO::FETCH_ASSOC))
        {
            $firsttime = $row['ftime'];
            $secondtime = $row['stime'];

            $finaltime = $firsttime - $secondtime;
            $dataupdate = $sql->query("UPDATE user SET ftime= '$finaltime' WHERE username ='batman'");
        }

        return $this->render('onmatchBundle:Default:index.html.twig');
    }
}
HTML按钮
运行控制器点击她

我创建了新路线

reportbutton_homepage:
    path:     /testbutton
    defaults: { _controller: reportbuttonBundle:Default:index }
在我的小树枝文件中,我添加了javascript代码和我的url,就像这样,效果很好

<script type="text/JavaScript">

function submitCouponCode()
{

    var url =
        "http://localhost/x1/sym/thesym/web/app_dev.php/testbutton" ;

    // get the URL
    http = new XMLHttpRequest(); 
    http.open("GET", url, true);
    http.send(null);

    // prevent form from submitting
    return false;
}

</script>

<form action="" onsubmit="return submitCouponCode();">
<input type="submit" value="Apply">
</form>

函数submitCupOnCode()
{
变量url=
"http://localhost/x1/sym/thesym/web/app_dev.php/testbutton" ;
//获取URL
http=newXMLHttpRequest();
http.open(“GET”,url,true);
http.send(空);
//阻止表单提交
返回false;
}
我创建了新路线

reportbutton_homepage:
    path:     /testbutton
    defaults: { _controller: reportbuttonBundle:Default:index }
在我的小树枝文件中,我添加了javascript代码和我的url,就像这样,效果很好

<script type="text/JavaScript">

function submitCouponCode()
{

    var url =
        "http://localhost/x1/sym/thesym/web/app_dev.php/testbutton" ;

    // get the URL
    http = new XMLHttpRequest(); 
    http.open("GET", url, true);
    http.send(null);

    // prevent form from submitting
    return false;
}

</script>

<form action="" onsubmit="return submitCouponCode();">
<input type="submit" value="Apply">
</form>

函数submitCupOnCode()
{
变量url=
"http://localhost/x1/sym/thesym/web/app_dev.php/testbutton" ;
//获取URL
http=newXMLHttpRequest();
http.open(“GET”,url,true);
http.send(空);
//阻止表单提交
返回false;
}

在新函数中,您可以将返回链接设置为:

return $this->redirect($request->headers->get('referer'))

在这种情况下,您将在函数中执行代码,并将重定向到您已经在的同一页面。在新函数中,您可以将返回链接设置为:

return $this->redirect($request->headers->get('referer'))

在这种情况下,您将执行函数内部的代码,并且您将被重定向到您已经在的同一页面

您可以为此操作创建一个新路由,并通过AJAX从frontendMany选项调用它。将按钮放入表单中,将表单设置为POST方法,然后将请求对象注入控制器函数中,并测试该方法是否为POST。在url中放置一个参数,并在控制器函数中测试它……您可以为此操作创建一个新路由,并通过AJAX从frontendMany选项调用它。将按钮放入表单中,将表单设置为POST方法,然后将请求对象注入控制器函数中,并测试该方法是否为POST。在url中放置一个参数,并在控制器函数中测试它。。。