Php 是否可以在Symfony2中使用jquery更新数据库?

Php 是否可以在Symfony2中使用jquery更新数据库?,php,jquery,symfony,doctrine-orm,Php,Jquery,Symfony,Doctrine Orm,我已经安装了jsrouting捆绑包,下面是我的代码: Javascript: $(document).ready(function () { $(".pmcontents").hide(); $(".pmbox").click(function () { $(this).css("font-weight", "normal"); $(this).next().toggle(); var myValue = $('this').at

我已经安装了jsrouting捆绑包,下面是我的代码:

Javascript:

$(document).ready(function () {
    $(".pmcontents").hide();
    $(".pmbox").click(function () {
        $(this).css("font-weight", "normal");
        $(this).next().toggle();
        var myValue = $('this').attr('id');
        var DATA = 'sentValue=' + myValue;
        $.ajax({
            type: "POST",
            url: Routing.generate('isread'),
            data: DATA,
            cache: false,
            success: function (data) {
                alert("database has been updated");

            }
        });
    });

});
public function isreadAction() {
    $request = $this->get('request');
    if ($request->isXmlHttpRequest()) {
        var_dump($request->request->get('sentValue'));
        $em = $this->getDoctrine()->getEntityManager();
        $pm = $this->getDoctrine()
                ->getRepository('LoginLoginBundle:Privatemessage')
                ->findBypmid($request->request->get('sentValue'));

        $pm->setIsRead(true);
        $em->flush();
        return new Response();
    }
}
isread:
    path:   /game/isread
    defaults: { _controller: LoginLoginBundle:Default:isread }
    requirements:
     _method:  POST 
控制器:

$(document).ready(function () {
    $(".pmcontents").hide();
    $(".pmbox").click(function () {
        $(this).css("font-weight", "normal");
        $(this).next().toggle();
        var myValue = $('this').attr('id');
        var DATA = 'sentValue=' + myValue;
        $.ajax({
            type: "POST",
            url: Routing.generate('isread'),
            data: DATA,
            cache: false,
            success: function (data) {
                alert("database has been updated");

            }
        });
    });

});
public function isreadAction() {
    $request = $this->get('request');
    if ($request->isXmlHttpRequest()) {
        var_dump($request->request->get('sentValue'));
        $em = $this->getDoctrine()->getEntityManager();
        $pm = $this->getDoctrine()
                ->getRepository('LoginLoginBundle:Privatemessage')
                ->findBypmid($request->request->get('sentValue'));

        $pm->setIsRead(true);
        $em->flush();
        return new Response();
    }
}
isread:
    path:   /game/isread
    defaults: { _controller: LoginLoginBundle:Default:isread }
    requirements:
     _method:  POST 
路由:

$(document).ready(function () {
    $(".pmcontents").hide();
    $(".pmbox").click(function () {
        $(this).css("font-weight", "normal");
        $(this).next().toggle();
        var myValue = $('this').attr('id');
        var DATA = 'sentValue=' + myValue;
        $.ajax({
            type: "POST",
            url: Routing.generate('isread'),
            data: DATA,
            cache: false,
            success: function (data) {
                alert("database has been updated");

            }
        });
    });

});
public function isreadAction() {
    $request = $this->get('request');
    if ($request->isXmlHttpRequest()) {
        var_dump($request->request->get('sentValue'));
        $em = $this->getDoctrine()->getEntityManager();
        $pm = $this->getDoctrine()
                ->getRepository('LoginLoginBundle:Privatemessage')
                ->findBypmid($request->request->get('sentValue'));

        $pm->setIsRead(true);
        $em->flush();
        return new Response();
    }
}
isread:
    path:   /game/isread
    defaults: { _controller: LoginLoginBundle:Default:isread }
    requirements:
     _method:  POST 
但是更新is_read列不起作用。此外,我的供应商文件夹中也有错误:


您可以使用ajax实现这一点

$.ajax({
    type: "POST",
    // Routing.generate = install fosjsroutingbundle
    url: Routing.generate('the_route_of_your_contoller'),
    data: DATA,
    cache: false,
    success: function(data){
           alert("database has been updated");

        }
    });    
控制器将具有持久性/更新角色


路线与正常路线相同,只需添加要求:

path:   /..
defaults: { _controller: ..:..:.. }
requirements:
     _method:  POST
反应

return new Response();
使用
使用Symfony\Component\HttpFoundation\Response位于文件的顶部


第二版

我希望如此:

jquery:

var myValue = $('this').attr('id');
//in POST ajax
var DATA = 'sentValue=' + myValue;
内部控制器

$request = $this->get('request');
if($request->isXmlHttpRequest())
{
     $value = $request->request->get('sentValue');

您可以使用ajax实现这一点

$.ajax({
    type: "POST",
    // Routing.generate = install fosjsroutingbundle
    url: Routing.generate('the_route_of_your_contoller'),
    data: DATA,
    cache: false,
    success: function(data){
           alert("database has been updated");

        }
    });    
控制器将具有持久性/更新角色


路线与正常路线相同,只需添加要求:

path:   /..
defaults: { _controller: ..:..:.. }
requirements:
     _method:  POST
反应

return new Response();
使用
使用Symfony\Component\HttpFoundation\Response位于文件的顶部


第二版

我希望如此:

jquery:

var myValue = $('this').attr('id');
//in POST ajax
var DATA = 'sentValue=' + myValue;
内部控制器

$request = $this->get('request');
if($request->isXmlHttpRequest())
{
     $value = $request->request->get('sentValue');

您可以使用ajax实现这一点

$.ajax({
    type: "POST",
    // Routing.generate = install fosjsroutingbundle
    url: Routing.generate('the_route_of_your_contoller'),
    data: DATA,
    cache: false,
    success: function(data){
           alert("database has been updated");

        }
    });    
控制器将具有持久性/更新角色


路线与正常路线相同,只需添加要求:

path:   /..
defaults: { _controller: ..:..:.. }
requirements:
     _method:  POST
反应

return new Response();
使用
使用Symfony\Component\HttpFoundation\Response位于文件的顶部


第二版

我希望如此:

jquery:

var myValue = $('this').attr('id');
//in POST ajax
var DATA = 'sentValue=' + myValue;
内部控制器

$request = $this->get('request');
if($request->isXmlHttpRequest())
{
     $value = $request->request->get('sentValue');

您可以使用ajax实现这一点

$.ajax({
    type: "POST",
    // Routing.generate = install fosjsroutingbundle
    url: Routing.generate('the_route_of_your_contoller'),
    data: DATA,
    cache: false,
    success: function(data){
           alert("database has been updated");

        }
    });    
控制器将具有持久性/更新角色


路线与正常路线相同,只需添加要求:

path:   /..
defaults: { _controller: ..:..:.. }
requirements:
     _method:  POST
反应

return new Response();
使用
使用Symfony\Component\HttpFoundation\Response位于文件的顶部


第二版

我希望如此:

jquery:

var myValue = $('this').attr('id');
//in POST ajax
var DATA = 'sentValue=' + myValue;
内部控制器

$request = $this->get('request');
if($request->isXmlHttpRequest())
{
     $value = $request->request->get('sentValue');

您应该尝试从jquery($.AJAX())调用AJAX,但您需要的是一个请求端点,它将根据请求提供响应,这意味着您必须首先构建一个PHP/Symfony2脚本,然后通过AJAX调用它:

概念:

User interaction --> jQuery.ajax() --> symfony2_script.php --> jQuery response processing --> view update

您应该尝试从jquery($.AJAX())调用AJAX,但您需要的是一个请求端点,它将根据请求提供响应,这意味着您必须首先构建一个PHP/Symfony2脚本,然后通过AJAX调用它:

概念:

User interaction --> jQuery.ajax() --> symfony2_script.php --> jQuery response processing --> view update

您应该尝试从jquery($.AJAX())调用AJAX,但您需要的是一个请求端点,它将根据请求提供响应,这意味着您必须首先构建一个PHP/Symfony2脚本,然后通过AJAX调用它:

概念:

User interaction --> jQuery.ajax() --> symfony2_script.php --> jQuery response processing --> view update

您应该尝试从jquery($.AJAX())调用AJAX,但您需要的是一个请求端点,它将根据请求提供响应,这意味着您必须首先构建一个PHP/Symfony2脚本,然后通过AJAX调用它:

概念:

User interaction --> jQuery.ajax() --> symfony2_script.php --> jQuery response processing --> view update


如果要使用jQuery更新数据库,则必须使用AJAX与服务器端数据库更新脚本通信。如果要使用jQuery更新数据库,则必须使用AJAX与服务器端数据库更新脚本通信。如果要使用jQuery更新数据库,则必须使用AJAX与服务器端数据库更新脚本通信与服务器端数据库更新脚本进行通信。如果要使用jQuery更新数据库,则必须使用AJAX与服务器端数据库更新脚本进行通信。您好,我已经完成了此操作,但还不起作用,我已经编辑了OP。您有什么错误?你们允许邮递员进入你们的路线吗?我在你的控制器中看不到任何响应(甚至是空的)关于供应商的事情。。我不知道。我没有收到错误,路线和响应应该是什么样的?我对symfony比较陌生,所以我不知道你是什么意思OK编辑了它,但我认为javascript代码有问题,var_dump在我的控制器中不起作用,因此不会调用isreadAction。是否正确:data:pm_id=$('this')。attr('id'),?我已经解决了它,$(this)而不是$('this')。谢谢你的帮助!嗨,我已经这样做了,但它还没有工作,我已经编辑了OP。你有什么错误?你们允许邮递员进入你们的路线吗?我在你的控制器中看不到任何响应(甚至是空的)关于供应商的事情。。我不知道。我没有收到错误,路线和响应应该是什么样的?我对symfony比较陌生,所以我不知道你是什么意思OK编辑了它,但我认为javascript代码有问题,var_dump在我的控制器中不起作用,因此不会调用isreadAction。是否正确:data:pm_id=$('this')。attr('id'),?我已经解决了它,$(this)而不是$('this')。谢谢你的帮助!嗨,我已经这样做了,但它还没有工作,我已经编辑了OP。你有什么错误?你们允许邮递员进入你们的路线吗?我在你的控制器中看不到任何响应(甚至是空的)关于供应商的事情。。我不知道。我没有收到错误,路线和响应应该是什么样的?我对symfony比较陌生,所以我不知道你是什么意思OK编辑了它,但我认为javascript代码有问题,var_dump在我的控制器中不起作用,因此不会调用isreadAction。是否正确:data:pm_id=$('this')。attr('id'),?我已经解决了它,$(this)而不是$('this')。谢谢你的帮助!嗨,我已经这样做了,但它还没有工作,我已经编辑了OP。你有什么错误?你们允许邮递员进入你们的路线吗?我在你的控制器中看不到任何响应(甚至是空的)关于供应商的事情。。我不知道。我没有收到错误,路线和响应应该是什么样的?我对symfony比较陌生,所以我不知道你是什么意思OK编辑了它,但我认为javascript代码有问题,var_dump在我的控制器中不起作用,因此不会调用isreadAction。是否正确:data:pm_id=$('this')。attr('id'),?我已经解决了它,$(this)而不是$('this')。谢谢你的帮助!