小编sam*_*sam的帖子

javascript中的MVC"〜"路径

我使用JavaScript代码来调用MVC Web API.当前路径为:

http://localhost/myApp/Administrator

但是当前路径是:

http://localhost/myApp/Administrator/

我收到了错误The resource cannot be found.以下是代码:

$.getJSON("api/UserApi",
    function (data) {
        ...               
    });
Run Code Online (Sandbox Code Playgroud)

我不想在代码中使用绝对URL,例如:

$.getJSON("http://localhost/myApp/api/UserApi",          
    function (data) {
        ...    
    });
Run Code Online (Sandbox Code Playgroud)

绝对URL确实可以正常工作,但缺乏灵活性.有没有办法做同样的事情如下?

$.getJSON("~/api/UserApi",          
    function (data) {
        ...
    });
Run Code Online (Sandbox Code Playgroud)

ASP.NET支持用当前应用程序的根路径替换"〜"字符,例如:

http://localhost/myApp

但是,JavaScript文件中不支持"〜"字符.我如何完成同样的事情?

JavaScript是一个独立的文件,不能使用像ASP.NET这样的ASP.NET语句Url.Content.有没有更好的方法呢?

我找到了以下方法.有没有更好的解决方案?:

1)将以下代码写在.cshtml文件中

<script type="text/javascript"> 
    var currentDomain = '@Url.Content("~")';
</script>
Run Code Online (Sandbox Code Playgroud)

2)currentDomain从.js文件中读取变量:

$.getJSON(currentDomain + "/api/UserApi",          
    function (data) {
        ...        
});
Run Code Online (Sandbox Code Playgroud)

javascript asp.net path relative-path

13
推荐指数
2
解决办法
1万
查看次数

如何输出Request.CreateResponse方法的json对象

如何输出Request.CreateResponse方法的json对象?

下面的代码输出json字符串

    "{RowCount:15}"
Run Code Online (Sandbox Code Playgroud)

,字符串不是json ojbect,它应该使用javscript的eval()方法转换为json对象,我希望服务器端直接返回json对象,它应该返回

{RowCount:15}
Run Code Online (Sandbox Code Playgroud)

这是一个json对象.

public class PagedDataAttribute : ActionFilterAttribute
{

    public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
    {
        string jsonRowCount = "{RowCount:10}";
        actionExecutedContext.Response = actionExecutedContext.Request.CreateResponse(System.Net.HttpStatusCode.OK, jsonRowCount,System.Net.Http.Formatting.JsonMediaTypeFormatter.DefaultMediaType);
    }

}
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-4

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

asp.net ×1

asp.net-mvc-4 ×1

javascript ×1

path ×1

relative-path ×1