0

对于我们网站上的选择框,我们已将 ajax 调用请求更改为用于填充城市选择框选项的 javascript 数组文件。这些现在从仅包含 js 数组的同一文件中填充。

这个仅 js 的数组文件在其他服务器上动态创建并传输到静态服务器。大多数时候它运行良好,但偶尔会失败并且文件已损坏或未完全传输。在这种情况下,文件内容看起来像

var cityArray = [{SID : "15",SN : "Rajasthan",cities : [{CID : "677",CN : "Jaipur"}, //syntax error, no eol

所以,当我们尝试使用这个文件时,所有的 js 都停止工作了。

我的问题是如何检查包含的文件是否包含错误并使用旧方法填充选择框选项?

提前致谢。

4

1 回答 1

2

我会作弊一点:

  • 使用 aXMLHttpRequest以字符串形式获取文件的副本,而不是添加<script>标签。
  • 检查字符串是否有 EOL,如果没有 - 添加一个。
  • Eval()try-catch 语句中的字符串。

这不仅应该让您使用特定类型的“损坏”文件,而且如果脚本以其他方式损坏,您的脚本也不会崩溃。

于 2013-05-21T09:46:01.773 回答