Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用ajax加载脚本_Javascript_Ajax - Fatal编程技术网

Javascript 用ajax加载脚本

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"

我有一个很奇怪的问题。此函数用于在我的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",
        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()函数,它是否返回您需要的确切字符串?