asp.net-mvc – 使用jQuery.get时可以指定相对URL吗?
发布时间:2020-12-16 03:41:29 所属栏目:asp.Net 来源:网络整理
导读:我正试图像这样进行ajax调用: $.get('/home/myInfo',function (data) { .... }); 我是从一个位于:http://localhost/myapp/home/index的页面调用它 当我尝试拨打上述电话时??,会转到:http://localhost/myapp/home/index/home/myInfo 我想要它去http://loca
我正试图像这样进行ajax调用:
$.get('/home/myInfo',function (data) { .... }); 我是从一个位于:http://localhost/myapp/home/index的页面调用它 当我尝试拨打上述电话时??,会转到:http://localhost/myapp/home/index/home/myInfo 我想要它去http://localhost/myapp/home/myInfo 我必须指定绝对URL吗? 解决方法
绝对不会在ASP.NET MVC应用程序中硬编码这样的URL.在处理网址时始终使用网址助手,如下所示:
$.get('@Url.Action("MyInfo","Home")',function (data) { .... }); 或者,如果这是在一个单独的javascript文件中,你不能使用服务器端帮助程序,那么你可以在一些DOM元素上使用HTML 5 data- *属性你是AJAXifying,比如div或者其他东西: <div id="mydiv" data-url="@Url.Action("MyInfo","Home")">Click me</div> 然后: $('#mydiv').click(function() { $.get($(this).data('url'),function (data) { .... }); }); 或者如果您是AJAX化表单或锚点: $('#myanchor').click(function() { $.get(this.href,function (data) { .... }); return false; }); 锚点当然是使用助手生成的: @Html.ActionLink("click me","MyInfo","Home",null,new { id = "myanchor" }) 看到?无需硬编码网址.不要这样做,因为它会在您修改Global.asax中的路由模式的第二步中断.通过遵循这种技术,您的代码将完全与路由结构的任何变化无关. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET(C#)Web服务中的异常处理
- asp.net-mvc – ASP.NET MVC下拉列表
- asp.net-mvc – 使用Razor,如何使所有“bool?”属性显示为
- 问题在ASP.NET 5(Core)中添加对类库项目的引用
- asp.net – Visual Studio可以在新的调试会话中重新启动IIS
- asp.net – 如何使用Docx dll生成word文档时在标题中添加图
- asp.net – 为什么Global.asax事件在我的ASP.NET网站没有触
- “经典”ASP.NET页面和Microsoft MVC可以在同一个Web应用程
- asp.net-mvc – 将ApplicationUser和其他模型移出MVC项目
- ASP.NET SessionID类型
推荐文章
站长推荐
热点阅读