【问题标题】:External JavaScript file is not defined未定义外部 JavaScript 文件
【发布时间】:2015-08-29 05:43:41
【问题描述】:

对于一个 Web 项目,我已经包含了一个 JavaScript 文件作为脚本 src,如下所示。

<script src="xml2json.js"> //same directory as the web project

接下来,我尝试调用xml2json 中的一个方法,称为xml_str2json

 downloadUrl("ship_track_ajax.php", function(data) {

                  var xml_string = data.responseText; //an XML string
                  //A parser to transform XML string into a JSON object is required.
                  //Use convert XML to JSON with xml2json.js
                  var markers = xml2json.xml_str2json(xml_string);  
 }

但是,控制台日志显示 "Uncaught ReferenceError: xml2json is not defined",即使 xml2json 包含在脚本 src 中。谁能告诉我什么是错的?

【问题讨论】:

  • 包含该文件不会使其中的函数具有前缀“xml2json” - 除非该文件中有一个具有该名称的对象以及您正在使用的方法。
  • 它是哪个库?这个:github.com/henrikingo/xml2json

标签: javascript


【解决方案1】:

您必须直接在 javascript 中调用该函数,而无需像这样引用文件名

xml_str2json(xml_string);

如果函数在任何包含的文件中定义,它将被调用。

希望能解决你的问题

【讨论】:

  • 感谢 Ankit。但是,我尝试这样做,它说 xml_str2json 未定义。在外部文件中,函数定义为 this.xml_str2json。这可能是个问题吗?
  • this 在您的 javascript 文件中指的是什么?您可以通过放置 JS 代码来更新您的问题以便更好地理解吗
【解决方案2】:

也许你应该试试这个:

 var json = xml2json(parseXml(xml), "  ");

https://github.com/henrikingo/xml2json看到Demo

【讨论】:

    猜你喜欢
    • 2013-05-30
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    相关资源
    最近更新 更多