我们使用 AJAX 从各种子文件夹调用 WCF 服务。所以 DOM OBJECT window.location.HREF 的 url 将是:
http://localhost:80/myVirtualDirectory/Reporting/reporting.aspx
或者
http://localhost:80/myVirtualDirectory/Sales/sales.aspx
我的服务实际上位于:
http://localhost:80/myVirtualDirectory/
当我从“子文件夹”调用时,找不到该服务,或者我必须将 *.svc 文件放在父文件夹和所有子文件夹中。所以需要我所有的AJAX“url”开始
http://localhost:80/myVirtualDirectory/
只是我不知道在我们将这个应用程序部署到客户的网站时 myVirtualDirectory 会是什么。我写了一个脚本块将其推出为:
var urlBase = "http://localhost:80/myVirtualDirectory/"
C#中的代码是这样的(删节)
"var urlBase = '//'+window.location.host+" + Request.ApplicationName + " '/' ";
有没有更好的办法?请记住,我们正在远离 ASPX,转而使用带有 knockout.js 的普通旧 html 页面 (POHP)