gpt4 book ai didi

javascript - 从另一个本地主机站点引用一个本地主机站点中的 Js 脚本

转载 作者:行者123 更新时间:2023-12-02 18:29:29 27 4
gpt4 key购买 nike

我正在尝试设置自动 JSLint 测试,该测试将从目标网站获取 js 文件,然后使用 Selenium 在测试站点上运行它,该测试站点将使用 Js 文件的 url 执行 JSLint 测试。

我在尝试使用两个不同的本地主机网站进行本地测试时遇到了问题。

 $(function () {

$.ajax({
url: "http://code.jquery.com/jquery-latest.min.js",
//url: "http://localhost:62338/Scripts/test.js", // url to other local site
dataType: "text"
}).done(function (data) {
var myResult = JSLINT(data);
..
});
});

如果我使用指向 jquery url 的 url 运行上述代码,它会正常工作并且 JSLint 会分析该文件。但如果我尝试将其指向其他本地主机站点中的 js 文件,它就会崩溃。如果我在 Chrome 中查看网络检查器,它会显示对脚本的调用已取消。

有什么想法为什么我无法以这种方式访问​​本地托管的 js 文件吗?

顺便说一下,我正在使用 MVC4 Web 项目。

编辑:我对 Cors 没有运气,也没有指向我的 IP,但 Dominic 的回答最终让我找到了这个 question ,我可以在其中禁用 Chrome 上的安全性。我根本不喜欢这个选项,但它只是在我获得所有 TeamCity 内容设置之前在本地进行测试,并且 Chrome 重新启动后更改就会撤消。

编辑2:对此的第二个答案question也为我工作,添加:

<httpProtocol>
<customHeaders>
<clear />
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>

..到目标网站的 web.config 我能够让它工作,而无需禁用 Chrome 上的安全性。由于目标站点只是一个虚拟站点并且正在本地使用,这对我来说效果更好。

最佳答案

这可能是由于 same origin policy不让 ajax 调用转到 localhost。这可以通过在调用电话之前更改以下设置来解决。

jQuery.support.cors = true

您可以通过将 localhost 更改为您计算机的 IP 来解决此问题。

关于javascript - 从另一个本地主机站点引用一个本地主机站点中的 Js 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17974585/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com