未捕获的TypeError:无法读取属性' getElementsByTagName'未定义的

时间:2015-12-07 23:09:16

标签: javascript php jquery ajax xml

因此,首先XML文件quran-uthmani.xml的布局如下:

<quran>
    <sura index="1" name="الفاتحة">
        <aya index="1" text="بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ" />
        <aya index="2" text="ٱلْحَمْدُ لِلَّهِ رَبِّ ٱلْعَٰلَمِينَ" />
        <aya index="3" text="ٱلرَّحْمَٰنِ ٱلرَّحِيمِ" />
        <aya index="4" text="مَٰلِكِ يَوْمِ ٱلدِّينِ" />
        <aya index="5" text="إِيَّاكَ نَعْبُدُ وَإِيَّاكَ نَسْتَعِينُ" />
        <aya index="6" text="ٱهْدِنَا ٱلصِّرَٰطَ ٱلْمُسْتَقِيمَ" />
        <aya index="7" text="صِرَٰطَ ٱلَّذِينَ أَنْعَمْتَ عَلَيْهِمْ غَيْرِ ٱلْمَغْضُوبِ عَلَيْهِمْ وَلَا ٱلضَّآلِّينَ" />
    </sura>
    ...(and basically, this style continues for the rest of the document)
</quran>

我的目标是使用loadDoc()函数返回xml文件中的数据,如下所示:

function loadDoc(url) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
        return xhttp.responseText;
    }
};
xhttp.open("GET", url, true);
xhttp.send();
}

然后让下面的函数使用sa参数访问特定节点:

function surah(s, a) {
    s = s - 1;
    xmlDoc = loadDoc("assets/xml/quran-uthmani.xml");
    x = xmlDoc.getElementsByTagName('sura') + verse(a)[0];
    return x.item(s).children[a].attributes[1].value + verse(a);
}

然后在php文件中调用该函数以返回quran-uthmani.xml文件中的选择节点并将其显示在网页上。

此;但是,抛出错误: Uncaught TypeError: Cannot read property 'getElementsByTagName' of undefined我非常需要帮助解决这个问题。

0 个答案:

没有答案