gpt4 book ai didi

javascript - IIS 中的 AngularJS 路由

转载 作者:行者123 更新时间:2023-12-03 07:25:12 26 4
gpt4 key购买 nike

我开发了 AngularJs 应用程序,该应用程序托管在 IIS 根目录中,即)我让它在本地主机中运行。如果我在浏览器中输入 localhost 并按 Enter 键,我的应用程序将打开并完美运行。

问题是,我在本地主机下同时运行了一些其他应用程序。例如)localhost/hrs、localhost/CMS 等,这些都是 asp.net 应用程序。在我托管 Angular 应用程序后,如果尝试打开我的应用程序,它会在浏览器控制台中显示以下 JavaScript 错误...

Uncaught Error: ASP.NET Ajax client-side framework failed to load.
ScriptResource.axd:1 Uncaught SyntaxError: Unexpected token <

我多次遇到这两个错误...

我该如何克服这个问题?

仅供引用:-我已经在我的 Angular 应用程序中实现了路由。还有一件事是 URL 重写,我的 web.config 中有如下内容...

<rewrite>
<rules>
<rule name="AngularJS Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="api/(.*)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>

我是 angularJS 的初学者。

谁能帮我解决这个问题...

提前致谢...

最佳答案

基于 ASP.NET 的 Web 应用程序经常向 WebResources.axd 文件发出请求,以检索程序集资源并将其提供给 Web 浏览器。服务器上不存在这样的文件,因为 ASP.NET 在请求 WebResources.axd 时动态生成内容。因此,如果您的 URL 重写规则仅在请求的 URL 与 Web 服务器文件系统上的文件或文件夹不对应时才进行重写或重定向,则该规则可能会意外重写对 WebResources.axd 发出的请求,从而破坏您的应用程序。

如果您在重写规则中添加一个额外条件,则可以轻松避免此问题:

<rewrite>
<rules>
<rule name="AngularJS Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="ITA_CALENDER_API/(.*)" negate="true" />
<add input="{URL}" negate="true" pattern="\.axd$" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>

关于javascript - IIS 中的 AngularJS 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36030614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com