0

以下は、フォームデータをSpringControllerに投稿するための2つのスニペットです。

1.1。

$("#formData").submit(function(event){ 
            event.preventDefault();
            var jqxhr = $.post("submitdata", $("#formData").serialize(), function(data){ 
                console.log(data); 
            }) 
            .success(function() { 
                // Success
            }) 
            .error(function() {  
                // Error 
            }); 
            jqxhr.complete(function(){ 
                //Ajax Process complete... 
            }); 
        }); 

2.2。

$("#formData").submit(function(event){ 
            event.preventDefault();
            var request = $.ajax({
                url: "submitdata",
                type: "post",
                data: $("#formData").serialize(),
                cache: false,
                contentType: "multipart/form-data",
                success: function(data){
                    alert(data);
                }
            });
        });

No. 1は正常に投稿して応答を表示しますが、No。2は404を返します。

URLは自動的にコンテキストパスを使用します。Inspect Element-> Networkから確認でき、書き込みURLが起動されます。

誰もが支援できる問題は何ですか?この問題の私の目的は、データと一緒にファイルをサーバーに送信することです。

4

1 に答える 1

0

間違ったパラメータを使用していますcontentType。そのままにしておくだけapplication/x-www-form-urlencodedです。

問題はフォーム定義にあります。ファイルをサーバーに送信するには、最初のファイルを使用して、次の属性を<form>タグに追加します。

enctype="multipart/form-data"これを参照)

例:

<form action="demo_post_enctype.asp" method="post" enctype="multipart/form-data">
    First name: <input type="text" name="fname"><br>
    Last name: <input type="text" name="lname"><br>
   <input type="submit" value="Submit">
</form>
<script>
    $.post("submitdata", $("#formData").serialize(), function(data){ 
        console.log(data); 
    });
</script>
于 2013-01-16T13:28:31.797 に答える