如何使用ajax(jquery)提交带有文件的表单

时间:2011-10-09 21:17:29

标签: jquery ajax

我想使用AJAX提交带有文件的表单。之前我使用jQuery Form Plugin,但现在不适合。因为来自服务器的响应是带有HTML格式的JSON,并且此插件执行了错误的JSON数据。

我找到jQuery Ajax File Upload plugin,但不明白如何将表单提交到服务器。帮我解决Form Plugin的问题,或者使用jQuery Ajax File Upload插件发送表单。

这个带有表单插件的javascript代码:

$("#form").ajaxSubmit({
    success: 
        function(answer){
            var data = $.parseJSON(answer);

                $("#block").html(data.page);
                }
     }

}); 

来自服务器的响应:

{"page": "<div id=\"some-div\">\r\n    <a href=\"/somelink\">somelink for examle</a>\r\n</div>"}

解析前的成功函数

{"page": "<div id="\&quot;some-div\&quot;">\r\n <a href="%5C%22/somelink%5C%22">somelink for examle</a>\r\n</div>"}

ParseJSON抛出异常,因为\“在响应中替换。

1 个答案:

答案 0 :(得分:0)

使用此代码

<script>
$(document).ready(function(){
$("#submitform").click(function(e)
{
var MyForm = JSON.stringify($("#myform").serializeJSON());
console.log(MyForm);
 $.ajax(
 {
 url : "<your url>",
 type: "POST",
 data : MyForm,

 });
 e.preventDefault(); //STOP default action

});
});
</script>