在金字塔中使用 jquery 上传文件
upload file using jquery in pyramid
我想使用 ajax 上传文件:
HTML:
<input type="file" name="photo" id="photo" />
<input type="button" value="Upload" id="btnUpload" />
javascript:
$(document).ready(function (){
var file_to_upload;
$('#photo').change(function() {
file_to_upload = this.files[0];
});
$('#btnUpload').click(function () {
var formData = new FormData();
formData.append('photo', file_to_upload);
$.ajax({
url: '/post_file',
type: 'POST',
data: {'photo' : formData},
cache: false,
contentType: false,
processData: false,
enctype: "multipart/form-data",
success: function () {
}
}, 'json');
});
});
在 py 文件中:
@view_config(route_name='ajax_post_file', renderer='json')
def live_search(request):
post_data = request.POST
但是 request.Post 说:
NoVars: Not an HTML form submission (Content-Type: text/plain)
我无法测试,但确实看到了一些错误。试试这个装饰器
@view_config(name='post_file', renderer='json')
尝试在 Ajax 调用中更改为此
data: formData,
我想使用 ajax 上传文件:
HTML:
<input type="file" name="photo" id="photo" />
<input type="button" value="Upload" id="btnUpload" />
javascript:
$(document).ready(function (){
var file_to_upload;
$('#photo').change(function() {
file_to_upload = this.files[0];
});
$('#btnUpload').click(function () {
var formData = new FormData();
formData.append('photo', file_to_upload);
$.ajax({
url: '/post_file',
type: 'POST',
data: {'photo' : formData},
cache: false,
contentType: false,
processData: false,
enctype: "multipart/form-data",
success: function () {
}
}, 'json');
});
});
在 py 文件中:
@view_config(route_name='ajax_post_file', renderer='json')
def live_search(request):
post_data = request.POST
但是 request.Post 说:
NoVars: Not an HTML form submission (Content-Type: text/plain)
我无法测试,但确实看到了一些错误。试试这个装饰器
@view_config(name='post_file', renderer='json')
尝试在 Ajax 调用中更改为此
data: formData,