我有一个HTML页面使用
JSONP Plugin
优雅地处理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>
它总是调用错误函数。我用萤火虫追踪它,它叫
$.jsonp
函数,但立即跳到错误函数。
代码本身如下所示:
$.jsonp(
{
url: ipUrl,
timeout: 30000,
success: displayData,
error: displayError
}
);
有什么想法吗?我真的很想以有组织的方式发货。谢谢你抽出时间。
几个事实:测试页面
本地
(没有Web服务器)。有
无权限/安全问题
. 在同一个目录中还有其他加载良好的.js文件。错误发生在所有浏览器中。
更新
:根据Alex的建议,我下载了未完成的版本并将其放到JS目录中。我更改了HTML页面中的引用,并使用Firebug进行了跟踪。该函数确实收到了正确的URL,并且实际工作!
我来回地从未完成到缩小,结果很清楚:缩小版本中有什么东西被搞砸了!
不过,我想知道什么会使一个函数的位置变得如此重要?你说什么?我应该把未完成的版本发送出去然后忘记它吗?
更新2-解决方案
:我自己缩小了打开的文件(我使用了Alex的链接来获取
C# code for JSMin
,我编译并最小化了该文件—它工作了。然后我将它与我下载的文件进行了比较——回车被拧紧了。再次下载文件-一切正常。