Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Symfony控制器(注释)中使用ajax正确地获取参数send?_Javascript_Php_Ajax_Symfony_Twig - Fatal编程技术网

Javascript 如何在Symfony控制器(注释)中使用ajax正确地获取参数send?

Javascript 如何在Symfony控制器(注释)中使用ajax正确地获取参数send?,javascript,php,ajax,symfony,twig,Javascript,Php,Ajax,Symfony,Twig,在过去的两天里,我一直在苦苦挣扎,到目前为止,我在互联网上找到的答案对我都没有帮助 我试图在一个symfony项目上使用ajax传递数据。目标是更新细枝值 所以我设置了一个ajax调用,如下所示: $searchbar = $("#searchBar"); var btnSearch = document.getElementById("btnRecherche"); btnSearch.onclick = chargeClientsData; function chargeClientsD

在过去的两天里,我一直在苦苦挣扎,到目前为止,我在互联网上找到的答案对我都没有帮助

我试图在一个symfony项目上使用ajax传递数据。目标是更新细枝值

所以我设置了一个ajax调用,如下所示:

$searchbar = $("#searchBar");
var btnSearch = document.getElementById("btnRecherche");

btnSearch.onclick = chargeClientsData;

function chargeClientsData()
{
    let searchVal = $("#searchBar").val();
    console.log(searchVal);

    $.ajax({
        url: "{{ path('showIt') }}", // point to server-side PHP script
        dataType: 'json',
        data: {data :  searchVal },
        type: 'POST',
        success: function(data){
            console.log(data);
            $('#monelement').html("test");
        }
    });


}
我想知道如果使用这个控制器:

/**
 * @route("/showIt}", name="showIt", methods="POST")
 * @param $request
 * @return Response
 */
public function showIt(Request $request){

    var_dump($request);
    if($request->isXmlHttpRequest()){
        $search = $request->query->get('data');
        var_dump($search);
        $response = $this->checkValidRequest($request);
        return $response->setData(['search' => $search ]); // working
    }

    $response = $this->checkValidRequest($request);
    $response->setStatusCode(500);
    return $response;

}
var_dump($request)不显示任何值,当然,var_dump($search)显示为NULL

细枝,$(“#搜索栏”);发送righ值,我确实获得了成功,但值为null

有什么是我做错的吗


谢谢你的帮助

由于您使用的是POST请求,因此可以在控制器中获得如下所示的your POST参数:

$search = $request->request->get('data');
而不是

$search = $request->query->get('data');

您当前正在使用的。请注意,
$request->query->get('data')
用于get方法。

非常感谢!我一开始就用过,但我一直在尝试在互联网上找到很多解决方案,以至于我有点迷失在那里>