2011-10-09 77 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>