【发布时间】:2017-12-22 22:29:24
【问题描述】:
我需要在当前工作的 jQuery 脚本中在运行时包含一个 .js 文件(更多 jQuery 代码)。例如,如果我的页面通过了身份验证,那么我想包含一个特定的脚本文件。我想在 ASP.Net MVC 中执行此操作。
有没有办法做到这一点?如果是这样,调用该文件时我应该给出什么路径?
我用谷歌搜索了$.getScript('file_path');,但我的页面正在循环刷新,我不知道为什么!也许我在路上做错了什么。
任何帮助将不胜感激!谢谢。
【问题讨论】:
-
看看require js。 requirejs.org
-
$.getScript()正是您所需要的。但是,如果不查看您的代码,我们将无法帮助您解决刷新问题。 -
@RoryMcCrossan 你能帮我解决我应该在其中提供的路径吗?就像,我在解决方案资源管理器的“脚本”文件夹中有我的 js 文件,比如 content.js,我想在 $.getScript(); 中调用它,我应该给出什么路径?比如 - "~/Scripts/content.js" 或者别的什么?
-
你不能在 JS 代码中直接使用
~,因为它是一个 MVC 结构。您需要使用相对路径,例如$.getScript('/basefolder/foo.js'); -
@RoryMcCrossan 我已经尝试了以下方法:
xhr.onreadystatechange = function (e) { if (xhr.readyState === 4 && xhr.status == 200) { $.getScript(xhr.responseText); } else if (xhr.readyState === 4 && xhr.status == 403) { location.href = '/Home/Auth'; } };而“xhr.responseText”会回复为“/Scripts/content.js”但没有成功,我认为路径是问题。
标签: javascript jquery