作爲數據網格的一部分,我希望用戶能夠上傳文件。我通過jquery ajax調用服務器完成了這個任務。這裏是我的Ajax調用:爲什麼在服務器上發送ajax請求時發生404錯誤,但本地不發送?
var formData = new FormData();
formData.append("file", Data.File); //Data.File is a File object from a file input
$.ajax({
type: "POST",
url: "@Url.Action("UploadFile")",
data: formData,
contentType: false,
processData: false
});
而且,這裏是我的控制器操作的簽名:
[HttpPost]
public IActionResult UploadFile()
當我通過IIS快速測試這個地方,它完美的作品。但是,當我發佈到IIS Web服務器時,它只會給我404錯誤。我研究了IIS端的可能原因,但他們似乎都處理大文件。我正在測試的文件並不大;所有我測試過的都在1 MB以下。我還有另一個頁面,允許通過ajax進行文件上傳,並且該頁面在本地或Web服務器上不會遇到任何問題。
這不是在這個頁面上唯一的ajax調用,但它是唯一的失敗。
那麼請求的URL是什麼?應該是什麼?他們有什麼不同?檢查您的瀏覽器*網絡*控制檯 – Phil
以下是它請求的URL:http:// [site]/[subdomain]/DataGrid/UploadFile。這正是它應該的。 – greenjaed
那*應該*工作?如果你發送一個cURL請求,它是否返回404狀態〜'curl -v -X POST -H「Content-Type:」「http:// [site]/[subdomain] /DataGrid/UploadFile」 – Phil