cna*_*gle 7 asp.net asp.net-mvc asp.net-ajax
当我尝试AJAX调用时,我在MVC应用程序中的某个页面上收到"Microsoft JScript运行时错误:'Sys'未定义"错误.AJAX调用是从部分视图中进行的,该视图嵌入在多个页面中.它可以在除一个页面之外的所有页面上正常工作.我已经阅读了指向web.config文件设置和.axd映射的帖子作为可能的解决方案,但是在web.config中正确配置了应用程序,并且IIS中的.axd映射也是正确的.此外,它可以在使用此局部视图的所有页面上正常工作,除了一个.它表现得像AJAX库没有加载这一页.
对脚本文件的引用位于共享的site.master文件中.所有页面(包括不起作用的页面)都引用相同的母版页.
有任何想法吗?我已经在这个工作了两天了.谢谢.
编辑:正如Sam在下面指出的那样,似乎AJAX调用在AJAX库有机会加载之前就已经开始了.但是,AJAX调用是在页面呈现后很长时间由提交按钮触发的,因此AJAX库有足够的时间加载 - 抱歉第一次没有提供足够的信息.
小智 19
在标记web.config下添加以下代码行appsettings:
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
Run Code Online (Sandbox Code Playgroud)
小智 17
以防万一...使用以下内容来避免路径问题
<script src="<%= Url.Content("~/Scripts/MicrosoftAjax.debug.js") %>"
type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/MicrosoftMvcAjax.debug.js") %>"
type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
资料来源:http://msdn.microsoft.com/en-us/library/dd381533.aspx
谢谢,阿蒂
在 Firefox 中加载页面,然后使用 Firebug 检查页面 - 您将能够看到已加载的所有单独脚本,以及发出的所有网络请求,以及它们是否成功。这比尝试从服务器角度进行故障排除更好。
如果您使用 IE8,则可以使用“开发人员工具”窗口,但我认为 Firebug 更好 - 不过这两个工具都支持 JavaScript 调试。
最可能的问题是,您在部分视图中运行脚本之前,它所依赖的脚本有机会加载 - 确保部分视图中的任何脚本调用仅在页面加载后运行,并且加载过程中不立即。
| 归档时间: |
|
| 查看次数: |
16619 次 |
| 最近记录: |