ajax - 在 symfony 3.4 中根据 ajax 请求持久保存到数据库
问题描述
在点击树枝后,我想在 ajax 请求上坚持到数据库,这是 ajax 部分:
<script>
$('.btn').click( function(){
var personnage = $(this).html()
$.ajax({
url: "{{ url('ajax_route') }}",
type: "POST",
dataType: "json",
data: {
"personnage": personnage
},
async: true,
success: function (data)
{
console.log(data)
$( '#titre' ).text(data.titre);
$( '#producteur' ).text(data.producteur);
}
})
});
</script>
在这里,我将一些数据“人物”发送到控制器操作,我尝试将其持久化到数据库,这是控制器部分:
public function ajaxAction(Request $request)
{
public function ajaxAction(Request $request)
{
if (!$request->request->has('personnage')) {
throw new BadRequestHttpException('personnage must be defined');
}
/* on récupère la valeur envoyée par la vue */
$personnage = $request->request->get('personnage');
//add to database
$test = new test();
$em=$this->getDoctrine()->getManager();
$em->persist($test);
$em->flush();
//add to database
return new JsonResponse([
'titre' => 'ajax request received',
'producteur' => 'Successfully',
]);
}
}
注意:当我删除“添加到数据库”部分时,ajax 请求正确,我得到响应数据!但是当我尝试将数据持久化到数据库时,它会引发 ajax 错误 500:
1 AJAX 请求方法类型状态 URL 时间配置文件 POST xhr 500 http://localhost/myprojet/web/app_dev.php/ajax_request 1698ms 95ae4b
解决方案
推荐阅读
- tampermonkey - 我如何能够使用 Tampermonkey 打开一个新标签,并且也能够在该页面上使用 Tampermonkey
- mysql - MySQL中时间序列数据的模式设计
- javascript - 使用 webpack-dev-server 设置 Django
- html - CSS div 内容和字体图标缩放
- c# - 如何在 ASP.net 中使用 Open XML 创建多级有序列表?
- sharepoint - 如何为 Microsoft Graph 和 SharePoint Online “获取令牌”
- asp.net-core - 在 ASP.NET Core 的会话中存储模型类
- postgresql - pg_dump:如何设置 *.sql 输出文件的用户名和密码?
- matlab - MATLAB 数组中整数出现次数的累积计数,包括零出现次数
- javascript - 无法将初始数组传递给 useState 以便稍后对其进行修改