0

非常に基本的なダッシュコード ウィジェットを作成しています。Apple からカスタマイズされたスニペットを使用しています: xmlRequest setup と xmlLoaded. 以下は私のコードです

function sendURL(){
    // Values you provide
    var textField = document.getElementById("searchqeue");  // replace with ID of text field
    var textFieldValue = textField.value;
    var feedURL = "feed://isohunt.com/js/rss/"+textFieldValue+"?iht=&noSL";                     // The feed to fetch
    
    // XMLHttpRequest setup code
    httpFeedRequest = new XMLHttpRequest();
    
    function loadedXML()
    {
        alert("xmlLoaded");
        if (httpFeedRequest.status == 200)
        {
            // Parse and interpret results
            // XML results found in xmlRequest.responseXML
            returnvalue = httpFeedRequest.responseText;
            alert(returnvalue);
            var textField = document.getElementById("resultarea");
            textField.value = returnvalue;
            // Text results found in xmlRequest.responseText
        }
        else
        {
            alert("Error fetching data: HTTP status " + httpFeedRequest.status);
        }
    }
    httpFeedRequest.onload = loadedXML();
    alert ("onload executed");
    
    //httpFeedRequest.overrideMimeType("text/html");
    httpFeedRequest.open("GET", feedURL);
    httpFeedRequest.setRequestHeader("Cache-Control", "no-cache");

    // Send the request asynchronously
    httpFeedRequest.send(null);
    alert("sent");
}

シンプルに保つために、すべてを1つの関数にまとめたいと思います。もちろん、xmlLoaded 関数と sendURL 関数を分離することもできますが、私にとってはこれの方が明確です。

エラーコンソールに返されるコード:

xmlLoaded (LoadedXML 関数の最初の行内)

データ取得エラー: HTTP ステータス 0 (LoadedXML 関数からのエラー メッセージ)

onload が実行されました (httpFeedRequest.onload = loadedXML(); の下の行)

sent (関数の最後の行)

これらのスニペットにはダッシュコード自体が付属しているため、問題は私の URL にあると思います。これは、html または xml ページではなく、feed:// ページです。しかし、フィードも xml であるため、xmlRequest を使用することもできます。また、feed:// の代わりに http:// を使用して同じページを呼び出すと、同じ結果が返されます。

httpFeedRequest.responseText は"" (空の文字列)を返します

httpFeedRequest.responseXML がnullを返す

どんな助けでも大歓迎です!

4

1 に答える 1