我有一个 HTML 页面,它使用JSONP 插件来优雅地处理我的 JSONP 调用中的错误。我的问题非常令人困惑(我希望它有一个简单易懂的“D'Oh!”解决方案:))。当 .js 文件与 HTML 页面位于同一目录并按如下方式加载时:
<script type="text/javascript" src="jquery.jsonp.min.js"></script>
一切正常。但是如果我将它移动到内部 JS 目录,我所有的其他 JS 文件都在该目录中:
<script type="text/javascript" src="js/jquery.jsonp.min.js"></script>
它总是调用错误函数。我用 FireBug 跟踪它并调用该$.jsonp
函数,但立即跳转到错误函数。代码本身如下所示:
$.jsonp(
{
url: ipUrl,
timeout: 30000,
success: displayData,
error: displayError
}
);
有任何想法吗?我真的很想以有组织的方式运送这个。谢谢你的时间。
几个事实:页面是在本地测试的(没有 Web 服务器)。没有权限/安全问题。同一目录中还有其他加载良好的 .js 文件。该错误发生在所有浏览器中。
更新:根据亚历克斯的建议,我下载了未缩小的版本并将其放在 js 目录中。我更改了 HTML 页面中的引用并使用 FireBug 进行了跟踪。该函数确实接收到正确的 URL 并且确实有效!
我从未缩小到缩小来回走动,结果很清楚:缩小版本搞砸了!
不过,我想知道什么会以它的位置很重要的方式搞砸一个功能???我应该只发布未缩小的版本而忘记它吗?
更新 2 - 解决方案:我自己缩小了打开的文件(我使用 Alex 的链接来获取JSMin 的 C# 代码),我编译并最小化了文件 - 它工作正常。然后我将它与我下载的文件进行了比较 - 回车被搞砸了。再次下载文件 - 一切正常。