以下のような関数を作って、 var rs = html_get("取得したいURL"); で読んでも空が返ってきてしまいます。ちなみに、console.log(rs)はちゃんと表示されます。
どうすればいいのでしょうか?
function html_get(url){
var request = new XMLHttpRequest();
request.addEventListener("load", function(ev){
if (200 <= request.status && request.status < 300) {
var rs = request.responseText;
console.log(rs);
return rs;
}
});
request.open("GET", url);
request.send();
}
No.1ベストアンサー
- 回答日時:
非同期処理の場合rsを得る前に関数が終わってしまう
同期処理でreadystateをチェックしてみて
function html_get(url){
var request = new XMLHttpRequest();
var rs = "bad!";
var async=false;//async=trueにすると非同期
request.open("GET", url ,async);
request.onreadystatechange=function(){
if((request.readyState == 4 ) && (request.status == 200 )){
rs = request.responseText;
}
}
request.send(null);
return rs;
}
ただし全てのブラウザがXMLHttpRequest()に対応しているわけではないので例外処理が必要
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- Chrome(クローム) 【Google AndroidのChromeブラウザーでフォームに入力後に送信ボタンを押すと、400 1 2022/06/26 16:52
- その他(ブラウザ) グーの質問見ようとしたらブラウザ版で 3 2022/03/28 10:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
追加ボタンを押した際に ok ボ...
-
フォームが空欄の時にフォーム...
-
GASに文字列として関数を入れる...
-
特定の文字列を複数抜き出した...
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
①入力フォーム→②確認表示画面→③...
-
Q&A掲示板の入力フォームに文字...
-
ボタンを押したあとに画像を表...
-
コードレビューをお願いします。
-
React hooksが値を返して配列変...
-
フロントエンドフレームワーク...
-
画面遷移を行わずに同一ページ...
-
ローディングアニメーションの...
-
jQueryで同じクラス名のものを...
-
ジャバスクリプトについて。
-
プログラムについて。
-
メールフォームの日付入力フォ...
-
二次元配列を使って順位をだす...
-
iOSのみダブルタップが必要
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数にドットをいれることはか...
-
.txtファイルの読み込み
-
[jQuery UI] sortableを使いaja...
-
ajaxでPOSTする変数の変数名を...
-
PHPで動的に生成されるcsvの、...
-
リンク付きの画像をクリックす...
-
jsのreturnで値が返ってこない
-
読み込み開始から読み込み終了...
-
JavaScriptでリンク先コンテン...
-
JavascriptからPHPへのAjax通信...
-
Javascriptを使ってQRコード読...
-
Selenium4でボタンをクリックで...
-
要素内を常に一番下を表示させたい
-
jQueryを使いformでsubmitした...
-
同一ページ移動時ハンバーガー...
-
階層別の組織図の自動作成について
-
JavaScriptでtabindexの変更っ...
-
Googleマップに複数のピンを立...
-
SQLのmaxで求めた値を変数に代...
-
パソコンで動くjavascriptがス...
おすすめ情報