0

ファイル「forum.xml」に記載されているスレッドのリストから読み取ろうとしています。GET リクエストが成功していないことに気付きました。これが XML ファイルです (これは変更できません)。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE forum SYSTEM "forum.dtd">
<forum>
<thread>
    <title>Tea Party</title>
    <posts>teaParty.xml</posts>
</thread>
<thread>
    <title>COMP212 Exam</title>
    <posts>crypto.xml</posts>
</thread>
</forum>

ここに私のjsがあります。ターゲットの要素が選択されていることをテストしました。

//threadReader.js
//Gets and display list of threads


var Threads = (function() {
var pub = {};
var target = $( ".thread");
var xmlSource = 'forum.xml';

function showThreads() {
    console.log("showThreads called");
    console.log(xmlSource);
    $({
        type: "GET",
        url: xmlSource,
        cache: false,
        success: function(data) {
            console.log(data);
            parseThreads(data, target);
        }
    });
}

function parseThreads(data, target) {
    console.log("parseThreads called");
    console.log(target);
    console.log(data);

    target.append("<ul>");
    $(data).find("title").each(function () {
        $(target).append("<li>");
        $(target).append($(this).text());
        $(target).append("</li>");
    });
}

pub.setup = function() {
    showThreads();
}

return pub;
}());

$(document).ready(Threads.setup);

どんな洞察も常に高く評価されます

4

2 に答える 2

2

これを変える

function showThreads() {
    console.log("showThreads called");
    console.log(xmlSource);
    $({

function showThreads() {
    console.log("showThreads called");
    console.log(xmlSource);
    $.ajax({

$(".thread")また、呼び出し時に要素と一致しない可能性があることに注意してください。ドキュメント対応ハンドラーでこれを行うのが最善です。

于 2013-08-21T07:12:29.893 に答える
0

これは将来役立つかもしれません。正しい Jquery Ajax 構文を取得するには

http://api.jquery.com/jQuery.ajax/

あなたの場合、これで呼び出しが発生するはずです。

function showThreads() {
    console.log("showThreads called");
    console.log(xmlSource);
    $.ajax({
        type: "GET",
        url: xmlSource,
        cache: false,
        success: function(data) {
            console.log(data);
            parseThreads(data, target);
        }
    });
}
于 2013-08-21T07:27:35.030 に答える