【发布时间】:2017-05-30 09:05:11
【问题描述】:
这在访问内部网络上的 Web 应用程序时有效,但在从 Internet 访问时无效。以下是我在调查中所做的步骤:
- 在 IIS (web.config) 和代码 (AspNetCore.Cors) 上启用 CORS
- 使用 JQUERY 启用 CORS(使用 crossDomain:true)
- 在 Windows Server 上启用网络发现
- 我什至尝试将 _Load.cshtml 放入 SHARED 文件夹中,并在没有路径的情况下直接调用加载,但仍然不起作用。
这个问题与我发布的问题相关,但 CORS 建议不起作用。My Other Question
如上所述,除了使用负载之外,我尝试使用 $.ajax 并输出错误,但我得到了
readystate 0 status 0 statustext error ajax
非常感谢。
------------------更新----------
如前所述,这是直接调用 URL
------------------更新 2----------------------
从 $.ajax 调用时,我输入了 e.preventDefault();
在 Chrome 中显示错误
【问题讨论】:
-
您的调用页面(您在其中为 ajax 编写了 jquery 代码)和操作方法 URL(您的 baseURL 变量)是否在同一个域中?如果两者都在同一个域中,那么您无需担心 CORS。当您从浏览器而不是 ajax 直接访问该 URL (baseURL + /Codes/Load?id=xxxxx) 时会发生什么?会报错吗?
-
@Kiran,是的,它们都在同一个域中。当我直接运行url时,我可以看到没有css格式的正确结果。这适用于内部和外部网络。
-
您根本不需要使用 baseUrl,因为它们都在同一个域中。您可以直接使用 .load("/Code/Load?id=.....");。您还可以确保#cmbGroup 更改事件没有在 ajax 调用之后立即启动回发(或重定向到其他 URL)吗?
-
@Kiran,当我不使用 baseURL 变量时,由于虚拟目录,它不起作用。
-
请分享从javascript调用开发工具栏的截图
标签: jquery asp.net-mvc asp.net-mvc-partialview