标签:跨域 owin powershell restful Webapi
最近发现gihub上早已有人把powershell的restful webapi做好了,而且是自宿主的owin。比上次用到的httplistener健壮许多。貌似还是支持job,runspace的。过程其实比较简单,html不用变,js只需要把拼装webapi url的地方修改下就好,后台的powershell webapi整个替换掉就ok了。
下载源码,直接生成即可。我用的vs2017。然后就可以直接使用了,唯一的问题就是跨域。
一开始在jquery.ajax用jsop,但debug的响应里能看到返回的json对象,可是ajax就是接收不到,也就无法在页面显示,而且console.log(返回的json对象);里面完全没有responseText
网上搜的大部分都没什么用。
前端不行那就只好改后端了。主要是不想修改人家已经成熟的代码,怕会有问题发生,但没办法。
经过一番研究,最终确定,要在owin中加入跨域的代码:
1.安装 Microsoft.AspNet.WebApi.Cors
2.DynamicPowerShellApi.Owin的Startup.cs 加入 using System.Web.Http.Cors;
3.line116处加入跨域配置 config.EnableCors(new EnableCorsAttribute("", "", "*"));
然后重新生成,就可以了,多了10个警告回头再说- -~,经过测试,跨域问题解决。页面可以正常显示。
Html+JS+PowerShell打造Web版AD管理系统(二)
标签:跨域 owin powershell restful Webapi
原文地址:http://blog.51cto.com/640006/2086818