加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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中的路由模式的第二步中断.通过遵循这种技术,您的代码将完全与路由结构的任何变化无关.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读