Javascript 如何在Symfony控制器(注释)中使用ajax正确地获取参数send?
在过去的两天里,我一直在苦苦挣扎,到目前为止,我在互联网上找到的答案对我都没有帮助 我试图在一个symfony项目上使用ajax传递数据。目标是更新细枝值 所以我设置了一个ajax调用,如下所示: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
$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方法。非常感谢!我一开始就用过,但我一直在尝试在互联网上找到很多解决方案,以至于我有点迷失在那里>