2011-10-09 98 views
0

我想使用AJAX提交带有文件的表单。早些时候我用jQuery Form Plugin,但现在不适合。因为来自服务器的响应是带有HTML格式的JSON,并且此插件会执行错误的JSON数据。我发现jQuery Ajax File Upload plugin,但不明白如何提交表单到服务器。帮助我解决表单插件问题或使用jQuery Ajax文件上传插件发送表单。如何使用AJAX提交带有文件的表单(jQuery)

这段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抛出性反应的异常,因为\”替换。

+0

你能告诉我们一些_code_你已经写了尝试要么插件?这两个网站都为其插件提供了演示代码。什么不起作用?你是什​​么意思“做错JSON数据”? –

+0

是的,请。这段JavaScript代码与表单插件:

$("#form").ajaxSubmit({ \t success: \t function(answer){ \t var data = $.parseJSON(answer); $("#block").html(data.page); } } });
从服务器性反应:{“页”:“‘}
数据在解析之前成功的功能:{’页”:“”} – buka

+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>