По существу я работаю с загрузчиком (dropzone.js
) и включаю его на свой сайт. Добавление файлов на сервер отлично работает, однако у меня возникают проблемы с их удалением. Мой JavaScript:Функция Ajax не получает ответ от сервера
$(document).ready(function() {
Dropzone.autoDiscover = true;
$("#dZUpload").dropzone({
url: "uploadHandler.ashx",
addRemoveLinks: true,
success: function (file, response) {
file.previewElement.classList.add("dz-success");
console.log("Successfully uploaded: " + file.name);
},
error: function (file, response) {
file.previewElement.classList.add("dz-error");
},
init: function() {
var dZUpload = this;
this.on("removedfile", function (file) {
$.ajax({
type: "POST",
url: "uploadHandler.ashx/DeleteFile",
data: { filename: file.name },
dataType: "json",
success: function (repsonse) {
if (data == "success") {
alert("Successfully deleted.");
this.removeFile(file);
}
else {
alert("Error deleting file.");
this.removeFile(file);
}
}
});
});
}
});
});
и это код deleteFile
функции на моей стороне сервера обработчика:
<System.Web.Services.WebMethod()> _
Public Function DeleteFile(filename As String) As String
Try
Dim Yes As String = "success"
System.IO.File.Delete(Path.Combine(HttpContext.Current.Server.MapPath("~/serverFiles/"), filename))
Return Yes
Catch ex As Exception
Dim No As String = "failure"
Return No
End Try
End Function
Что должно происходить: Когда ссылка удалить нажал на загруженном файле клиента отправляет на сервер POST
по номеру Ajax
. Сервер, чем удаляет файл с диска и отправляет клиенту сообщение о том, что это было успешным.
Это мой первый раз с использованием Ajax, что происходит? Почему сообщение не отправляется?
Edit: Когда я изменяю dataType: "json"
к test
я reeive следующее сообщение об ошибке:
Uncaught ReferenceError: data is not defined
$.ajax.success @ fileUploader.aspx:31
Line 31 это: if (data == "success") {
Так его немного лучше, но я до сих пор не уверен, как поступить ,
Любые сообщения об ошибках в журнале консоли или на стороне сервера? –
используйте ошибки, полные методы и поместите некоторые журналы, чтобы проверить ошибку, если она достигает блока ошибок, там будет некоторая ошибка, полная будет вызвана в обоих случаях –
@MatthewNorth никаких ошибок как на стороне клиента, так и на стороне сервера, его почти как если бы Ajax обрабатывался ниже следующей строки '$ .ajax ({' (строка 16 в фрагменте кода кулака) – errorreplicating