jQuery Ajax发布文件和数据?

时间:2011-07-01 09:10:35

标签: javascript jquery ajax

以下这些行是我需要使用AJAX请求发布的表单数据,并返回JSON响应。

<textarea type='text' id="newStatusBox">Your Status here...</textarea>
Link:<input type="text" id="newStatusLink"/>
Video:<input type="text" id="newStatusVideo"/>
Image : <input type="file" id="newStatusImage" size="20" />
<input type='button' value="post" id="status-post-button" onclick='postStatus()'/>

当我在postStatus()中使用jQuery的$ .ajax发布数据时,我没有在该页面中获取图像文件。

有没有其他解决方案可以实现我的目标?

1 个答案:

答案 0 :(得分:1)

除非人们使用最近的浏览器,否则无法通过AJAX上传文件。

无论如何,您只需使用jQuery form plugin即可。如果表单中有文件上载字段,它将回退到隐藏的IFRAME而不是XHR。但是,在这种情况下,您的响应必须以text/html发送并包含在<textarea>中,因为它无法发送正确的JSON内容类型,因为它会导致浏览器显示下载对话框。

您还可以查看http://www.plupload.com/,其中包含大量上传技术,并使用每个用户可用的最佳技术。