0

jquery を使用して単純なファイル アップローダーを構築しようとしています。Symfony2 を使用せずにサーバーでテストしたところ、動作しました。

2 つの単純なコントローラーを使用します。

 /**
 * @Route("/")
 * @Template()
 */
public function indexAction()
{
    return array();
}

/**
 *  @Route("/new_project", name="newproject")
 *  @Method("POST")
 */
public function newProjectAction()
{
    $entity = new test();
    $entity->setName('test');

    $em = $this->getDoctrine()->getManager();
    $em->persist($entity);
    $em->flush();


     return new Response('<html><body>added</body></html>');
}

そして私のインデックスビュー

{% extends '::base.html.twig' %}
{% block script %}
<script type="text/javascript">
  <!--
    $(document).ready(function() {


        var options = {
        target: '#message', //Div tag where content info will be loaded in
        url: {{ path('newproject') }}, //The php file that handles the file that is uploaded
        beforeSubmit: function() {
            $('#uploader').html('<img src="ajax-loader.gif" border="0" />'); //Including a preloader, it loads into the div tag with id uploader
        },
        success:  function() {
            //Here code can be included that needs to be performed if Ajax request was successful
            $('#uploader').html('Plik przesłany');

        }
        };

        $('#upload').submit(function() {
            $(this).ajaxSubmit(options);
            return false;
        });

    }); 
//-->
</script>
{% endblock %}



{% block body %}
<div id="message"></div>
<form name="upload" id="upload" action="#" method="POST" enctype="multipart/form-data">
    <table cellpadding="4" cellspacing="4" border="0">
        <tr>
            <td colspan="2"><h1>Upload File via Ajax</h1></td>
        </tr>
       <tr>
            <td nowrap>File:</td>
            <td nowrap><input type="file" name="fileToUpload" id="fileToUpload" /></td>
        </tr>
        <tr>
            <td nowrap colspan="2"><input type="submit" id="uploadFile" value="Upload File" /></td>
        </tr>   

    </table>
</form>
<div id="uploader"></div>
{% endblock %}

うまくいかない理由を教えてください。

4

1 に答える 1

0
<script type="text/javascript">
  <!--
    $(document).ready(function() {

に変更します

<script type="text/javascript">
  //<!--
    $(document).ready(function() {

エラーを表示し、どのブラウザを使用しているかを説明し、jquery ライブラリがページに含まれていることを確認してください。

于 2013-03-18T15:11:46.023 に答える