我有一张ajax张贴表格让我想要根据几乎相似的问题尝试各种答案,但这里无济于事。
我的routing.yml文件中有以下路由
_save_profile:
pattern: /register/save-profile/{data}
defaults: {_controller: MYBundle:Registration:saveProfile}
requirements:
_method: GET|POST
options:
expose: true
并使用以下代码发布表单
var postData = $('#form').serializeArray();
$.ajax(
{
url: Routing.generate('_save_profile',{
type: "POST",
data : postData,
}).done(function()
{
alert("Saved");
});
任何帮助将不胜感激。
答案 0 :(得分:0)
您不需要在路线中通过参数{data}
发送表单数据。如果你想用ajax发送表单,那么你需要。
更改路线:
_save_profile:
pattern: /register/save-profile/
defaults: {_controller: MYBundle:Registration:saveProfile}
更改js:
var postData = $('#form').serializeArray();
$.ajax({
url: Routing.generate('_save_profile'),
type: "POST",
data: postData,
dataType: "json",
success:
function(result) {
console.log(result);
},
error:
function() {
alert('Error')
}
});
注意:我没有使用FOSJsRoutingBundle
捆绑来进行js路由。我总是在数据属性中的模板上渲染路径。例如。
<强> HTML 强>
<form type="POST" id="form" data-url="path('_save_profile')">
<强> JS 强>
var url = $('#form').data('url');
<强>参考强>