非常に基本的なダッシュコード ウィジェットを作成しています。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を返す
どんな助けでも大歓迎です!