【发布时间】:2016-01-20 15:06:39
【问题描述】:
在我的页面中,我有一个表单可以在提供 api、upload.im 的外部服务上上传照片,我需要取回上传图片的 URL。我真的无法让它工作......
此 api 的文档页面是 here。
我在我的 PHP 页面中添加了一个表单:
<form enctype="multipart/form-data" name="UploadForm" id="UploadForm" action="http://uploads.im/api" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<input type="file" name="upload" id="upload" />
<input type="hidden" name="resize_width" id="resize_width" value="" />
<input type="hidden" name="thumb_width" id="thumb_width" value="250" />
<input type="hidden" name="format" id="format" value="xml" />
<input type="submit" id="Submit" name="Submit" />
</form>
我也尝试使用这个 jQuery 代码来提交带有所选图像的表单:
$(document).ready(function () {
$('#UploadForm').on('submit', function(e) {
e.preventDefault();
var data = new FormData(jQuery('UploadForm')[0]);
jQuery.ajax({
url: 'http://uploads.im/api',
data: data,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
console.log(data);
}
});
});
});
使用此代码,我在控制台中收到错误: 哪个是来自 API 的错误代码;这意味着代码可以工作,但是提交表单的方式有问题。问题出在哪里?
谢谢!
【问题讨论】:
-
表格没问题,问题出在js代码中,我正在尝试修复。
-
不应该把
e.preventDefault();放在最后吗? -
另外你为什么使用
jQuery('UploadForm')[0]而不是$(this)[0],以及jQuery.ajax而不是$.ajax? -
通过参考检查我的答案
标签: javascript php jquery forms