雖然標題寫的是ASP.NET的解決方案,但是也可用在PHP,Jsp中。直接上代碼
首先在客戶端中配置
var editor; document.domain = window.location.host;//js解析域 KindEditor.ready(function (k) { editor = k.create('#editor_id', { uploadJson: GlobalConfig .RestServiceUrl + "/FileUpload/upload_json.ashx?folder=News&domainhost=" + window.location.host, // 'upload_json.ashx', fileManagerJson: GlobalConfig .RestServiceUrl + "/FileUpload/file_manager_json.ashx?folder=News", //'file_manager_json.ashx', allowFileManager: true, resizeType: 0, height: "500px", //編輯器的高度 urlType: 'domain' //讓上傳的文件記錄絕對路徑! });
關鍵代碼部分為
document.domain = window.location.host;//js解析域
服務器端配置為
public void ProcessRequest(HttpContext context) { string folder = context.Request["folder"]; _webhostdomain = context.Request["domainhost"]; _returnstring = string.Format(@"<script type='text/javascript'>document.domain = '{0}'</script>",_webhostdomain); .... context.Response.AddHeader("Content-Type", "text/html; charset=UTF-8"); context.Response.Write(_returnstring + JsonMapper.ToJson(hash)); context.Response.End(); }
類似於jsonp的方式解決