2

ファイル アップロード フォームを作成し、symfony2 を使用して ajax 経由でデータを送信できるかどうかを知りたいですか?

ここに私の小枝のビューがあります:

<form class="upavatar" method="post" action="{{ path('sbcUserBundle_avatar', {'id': app.security.getToken().getUser().getId()}) }}" {{ form_enctype(form) }}>
  {{ form_end(form) }}
  {{ form_errors(form) }}
</form>
</div>
<script>          
 $('.upavatar').submit(function() 
 {
  $.post($(this).attr('action'), $(this).serialize(), function(data) {
        $("#upmyavatar").empty();
        $("#upmyavatar").html(data);
  });
  return false;
}); 
</script>

私はsymfony2内でajax(実際にはjquery)なしでフォームアップロードファイルを作成したため、それは魅力のように機能しますが、ajaxを介して送信しようとすると、フォームハンドラーはファイル変数を見つけることができません(xdebugで確認しました)。 symfony2 内で ajax 経由でファイルを送信できるかどうか疑問に思い始めています。過去に「通常の」形式で ajax を使用することに成功しました。

ありがとう。

わかりました私はそれを行うことでそれを機能させました:

<script>
$('#myForm').live('change', function()
{
    var options = {
    beforeSend: function()
    {
        $("#progress").show();
        //clear everything
        $("#bar").width('0%');
        $("#message").html("");
        $("#percent").html("0%");
    },
    uploadProgress: function(event, position, total, percentComplete)
    {
        $("#bar").width(percentComplete+'%');
        $("#percent").html(percentComplete+'%');
    },
    success: function()
    {
        $("#bar").width('100%');
        $("#percent").html('100%');
    },
    complete: function(response)
    {
        $(".myavatarupload").empty();
        $(".myavatarupload").html("<font color='green'>"+response.responseText+"</font>");
    },
    error: function()
    {
        $("#message").html("<font color='red'> ERROR</font>");
    }
};
     $("#myForm").ajaxForm(options);
});
</script>
4

0 に答える 0