jQueryMobile下上传文件失败的解决办法

上传文件的通用做法

<form method="post" name="form" action="your.php" enctype="multipart/form-data">
<input type='text' name='yourname' />
<input type='file' name='myfile' />
<input type='submit' name='submit' value='submit' />
</form>

此时在your.php中使用$_FILES['myfile']可以接收,使用$_FILES['myfile']['name']可以得到文件名,后续按照自己的思路处理。

但在header中如果你引用了

<script src="js/jquery.mobile-1.4.5.min.js"></script>

则无论怎么操作都会发现在dev tool中显示传输的是application/x-www-form-urlencoded,而不是你所期望的Multipart/form-data,在各种尝试后,发现,只要注释了jQueryMobile,就可以正常上传文件。所以问题出在jQueryMobile上。

查找资料后发现,jQueryMobile默认以ajax处理form,所以应该在form上禁用ajax(data-ajax="false")以按照html逻辑提交即可。

<form method="post" name="form" action="your.php" enctype="multipart/form-data" data-ajax="false">

至此,问题解决,记录下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容