Javascript 如何使用XmlHttpRequest和asp.net mvc处理文件上传错误?
为简单起见: 客户:Javascript 如何使用XmlHttpRequest和asp.net mvc处理文件上传错误?,javascript,ajax,asp.net-mvc,upload,Javascript,Ajax,Asp.net Mvc,Upload,为简单起见: 客户: var xrh = new XmlHttpRequest(); ... xrh.onerror = on_upload_error; xrh.send(...) 服务器: public class file_transfer { [HttpPost] public void Upload(HttpPostedFileBase[] files_to_upload) { ... if (succeeded)
var xrh = new XmlHttpRequest();
...
xrh.onerror = on_upload_error;
xrh.send(...)
服务器:
public class file_transfer
{
[HttpPost]
public void Upload(HttpPostedFileBase[] files_to_upload)
{
...
if (succeeded)
{
// what should I to to let the client know the success? in onload
}
else
{
// what should I to to let the client know the failaure? maybe in onerror
}
}
}
我应该如何让客户知道成功?有货吗
我应该如何让客户知道失败原因?也许在OneError?中,您可以将http成功/失败代码返回到客户端:
[HttpPost]
public ActionResult Upload(HttpPostedFileBase[] files_to_upload)
{
...
if (succeeded)
{
return new HttpStatusCodeResult(200);
}
else
{
return new HttpStatusCodeResult(400);
}
}
您需要遵循asp.net mvc约定,控制器类必须以“controller”结尾。例如AccountControllerd这些json结果是否绑定到XmlHttpRequest中的onerror和onload?是的,应该是UploadController(…)而不是Upload(…)。如果要绑定onerror和onload,json结果是正确的。在这种情况下,当成功返回2xx代码时,当失败返回4xx或5xx代码时,您可以使用HttpStatusCodeReusElt谢谢。我希望看到错误消息,因此希望返回一个JsonResult,但是如何在客户端获取JsonResult呢?已调用on on_load(evt),但未定义evt.status。