0

だから私はTypepadブログを持っていて、自分のWebサイトにいくつかの投稿をロードしたいと思っています。Typepad APIを見ましたが、非常に複雑に見えました。Typepadはウィジェットも提供しますが、それは投稿のタイトルとhrefのみを表示し、コンテンツも必要です。

これが私がやっていることです。ページにjQueryが含まれています。

$.ajax({
    url: 'http://notes2self.typepad.com/notes/atom.xml?callback=?',
    type: 'GET',
    dataType: 'jsonp',
    success: function(feed) {
        console.log(feed);
    },
    error: function(err) {
        console.log(err);
    }
});

「成功」をログに記録しますが、ログに記録されたオブジェクトはXMLHttpRequest応答のように見え、xmlの内容を返すだけです。

オブジェクト{readyState:4、ステータス:200、statusText: "success"}

また、OSX上のChromeでは、コンソールはatom.xmlの1行目にエラーを記録します。

Uncaught SyntaxError:予期しないトークン<

私は明らかにいくつかの非常に基本的なことを間違っています。私を正しい方向に向けるためのヒントはありますか?

4

1 に答える 1

0

ここでは、戻り値の型が無効であると推測しています。http://notes2self.typepad.com/notes/atom.xml?callback= ? _ 次に、結果を XML で取得します (ソースを確認してください)。

jQuery は JSON の戻り値の型を想定しているため、結果を解析できません。これは、予期しない「<」文字を含む Chrome エラー メッセージに表示されます。

これを証明するには、次を試してください。

$.ajax({
    url: 'http://notes2self.typepad.com/notes/atom.xml?callback=?',
    type: 'GET',
    dataType: 'xml',
    success: function(feed) {
        console.log(feed);
    },
    error: function(err) {
        console.log(err);
    }
});

結果が戻ってくるかどうかを確認します (フィード)。

この投稿では、クロスドメイン リクエストに対して XML ベースの戻り値の型を実現する方法について説明しています: http://www.isgoodstuff.com/2012/07/22/cross-domain-xml-using-jquery/

于 2013-01-18T16:01:37.017 に答える