我正在使用 jQuery 的 ajax 函数进行文件上传。文件上传工作正常,数据发送正确,但 HTML 未更新。提交表单后,按钮不会重新启用,并且控制台中会显示错误:“未捕获的语法错误:意外的标识符”。错误的行号是我的 HTML 文档的第一行。
这是我的 JavaScript 代码:
jQuery(function($) {
$('form[data-async]').on('submit', function(e) {
var $form = $(this);
var $target = $($form.attr('data-target'));
$form.find('button').attr('disabled', 'disabled');
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
data: new FormData(this),
processData: false,
contentType: false,
success: function(data, status) {
$target.html(data.response).css('display', 'block');
$form.find('button').removeAttr('disabled');
},
error: function(data, status) {
$target.html(data.response).css('display', 'block');
$form.find('button').removeAttr('disabled');
}
});
e.preventDefault();
});
});
来自服务器的 JSON 响应也不会显示。这是我的 PHP 代码的响应:
return Response::json(['response' => 'Image has been uploaded! <script>window.location.href="/image/"' . $filename . '"</script>']);
什么可能导致抛出错误并且不显示响应?
最佳答案
我会看看你似乎又回到编写 PHP 代码的 jquery 行:
$target
$form
SB $.target 或 $('#target') 或类似的,不是吗?
关于javascript - jQuery AJAX 文件上传卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27214857/