【发布时间】:2014-06-17 13:51:23
【问题描述】:
我正在制作一个 ASP.net MVC 应用程序,我希望它在用户单击链接时执行 ajax 调用,将数据发送到控制器,然后将其他数据返回到视图。
这是我想在我的控制器中调用的方法:
public JsonResult GetImage(string url)
{
Image image = Image.FromFile(url, true);
byte[] byteImage = converter.ImageToBytes(image);
return Json(new { byteImage }, JsonRequestBehavior.AllowGet);
}
这里是控制器的位置:
08983ClassLibrary\EpostASP\Controllers\CustomerController.cs
这是我的 Ajax 调用:
$.ajax({
url: "~/Controllers/CustomerController/GetImage/",
type: 'POST',
contentType: 'application/json',
data: "url="+url,
success: function (image) {
document.getElementById("image").src = "data:image/png;base64," + image;
showImage();
}
});
当我在代码中放置断点时,我可以看到它遇到了 ajax 调用,然后跨过它永远不会到达控制器并且不会给出任何错误。 有什么想法吗?
【问题讨论】:
-
JavaScript 中真的有
"~/Controllers/...吗?您的路线图是否包含~/{controller}/{action}...路线,或者您假设 JavaScript/HTML 中的页面相关 URL 会以某种方式转换为站点相关 URL?考虑使用一些 HTTP 调试工具(如 Fiddler)来查看请求的确切外观,并查看您是否希望服务器处理它。
标签: c# jquery asp.net ajax asp.net-mvc