本質上,我正在使用上傳器(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
什麼應該發生:當刪除鏈接被點擊上載的文件,客戶端通過Ajax
發送POST
到服務器。服務器將文件從磁盤上刪除,並向客戶端發送一條消息,說這是成功的。
這是我第一次使用Ajax,發生了什麼?爲什麼不發送消息?
編輯:當我改變dataType: "json"
到test
我reeive以下錯誤:
Uncaught ReferenceError: data is not defined
$.ajax.success @ fileUploader.aspx:31
第31行是這樣的:if (data == "success") {
所以它的好一點,但我仍然不知道如何進行。
在控制檯日誌或服務器端的任何錯誤信息? –
請使用錯誤,完整的方法,並把一些日誌來檢查錯誤,如果它到達錯誤塊有一些錯誤,完成將被調用的情況下 –
@MatthewNorth在客戶端和服務器端都沒有錯誤,它的就好像Ajax沒有在下面一行'$ .ajax({'(第一個代碼片段中的第16行)' – errorreplicating