Javascript 用ajax加载脚本
我有一个很奇怪的问题。此函数用于在我的IIS本地web服务器上加载脚本Javascript 用ajax加载脚本,javascript,ajax,Javascript,Ajax,我有一个很奇怪的问题。此函数用于在我的IIS本地web服务器上加载脚本 function loadJs(scriptName) { var name = scriptName.toString(); var myUrl = 'http://192.168.1.149/7.0.9.5/m/js/'; myUrl += name; debugger; $.ajax({ url: myUrl, dataType: "script"
function loadJs(scriptName) {
var name = scriptName.toString();
var myUrl = 'http://192.168.1.149/7.0.9.5/m/js/';
myUrl += name;
debugger;
$.ajax({
url: myUrl,
dataType: "script",
success: function () { }
});
}
当我签入调试器时,我看到url是正确的
但事实上,ajax调用不使用我的url:
虽然应该是这样的:
我们可以看到请求url不一样。(403代码正常,因为IIS阻止对文件夹列表的访问)
另一方面,如果我直接将url放入“url”参数中,则加载工作正常
function loadJs(scriptName) {
var name = scriptName.toString();
var myUrl = 'http://192.168.1.149/7.0.9.5/m/js/';
myUrl += name;
debugger;
$.ajax({
url: 'http://192.168.1.149/7.0.9.5/m/js/loadAccount.js',
dataType: "script",
success: function () { }
});
}
如果有人能提出这个非常奇怪的问题的答案。我很高兴
提前谢谢。试着换一行
myUrl = myUrl + name;
很抱歉这么晚才回答。。。
我发现了这个问题,事实上我已经加载了几个脚本,第一个有效,但是第二个“scriptname”是空的。这证明了403禁止的消息错误(拒绝在IIS中查阅文件)是正确的。脚本不使用url是什么意思?因为那里有两个网络实体,一个是200,一个是403。你能更具体一点吗?正如你所看到的,url请求没有我添加到“myUrl”末尾的“scriptName”变量。我真的看不见,我只能猜测。我假设第一个状态为
200
的调用是在运行最后一段代码时发生的,第二个状态为403
的调用是在运行第一段代码时得到的?这种方式真的很让人困惑。你能告诉我们你是如何调用loadJs函数的吗?在尝试了一些东西之后,你的代码一直在为我工作。是否可以在jsbin/jsfiddle中创建一个同样不起作用的示例?您使用的浏览器是什么,jQuery的版本是什么,可能会尝试更新jQuery,等等。更改这一行会出现相同的问题。请在调试器中检查myUrl的值,但这次请检查第7行(即url:myUrl)。无论它是否显示正确/不正确的url,我已检查我有相同的url。myUrl+=value
是否执行相同的操作尝试myUrl=myUrl.concat(name)
还检查.toString()函数,它是否返回您需要的确切字符串?