• MVC上的jsonp扩展,解决跨域访问问题


    总是有人会遇到跨域问题,然后有个jsonp的解决方案,MVC中代码如下:

    public class JsonpResult : System.Web.Mvc.JsonResult
        {
            object data = null;
    
            public JsonpResult()
            {
            }
    
            public JsonpResult(object data)
            {
                this.data = data;
            }
    
            public override void ExecuteResult(ControllerContext controllerContext)
            {
                if (controllerContext != null)
                {
                    HttpResponseBase Response = controllerContext.HttpContext.Response;
                    HttpRequestBase Request = controllerContext.HttpContext.Request;
    
                    string callbackfunction = Request["callback"];
                    if (string.IsNullOrEmpty(callbackfunction))
                    {
                        throw new Exception("Callback function name must be provided in the request!");
                    }
                    Response.ContentType = "application/x-javascript";
                    if (data != null)
                    {
                        JavaScriptSerializer serializer = new JavaScriptSerializer();
                        Response.Write(string.Format("{0}({1});", callbackfunction, serializer.Serialize(data)));
                    }
                }
            }
    
        }

    理论上还可以自己扩展json的解析方式,比如你觉得默认的json解析器太慢什么的。

  • 相关阅读:
    Operator开发实例
    Go构建HTTP服务
    Go依赖包的管理
    Go并发编程机制
    Go语言的基础数据类型
    k8s的APIServer流程介绍
    promise、resolve、reject、拦截响应
    AngularJS中service,factory,provider的区别
    scope
    sass入门
  • 原文地址:https://www.cnblogs.com/RainbowInTheSky/p/9034584.html
Copyright © 2020-2023  润新知