A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
じっさい非同期処理でデータを受けた後に処理をしたいのであれば
xmlHttpRequest.onreadystatechange = function(){
if((xmlHttpRequest.readyState == 4 ) && ( xmlHttpRequest.status == 200 )){
test = 1;
}
}
のような処理になると思います。
もちろん非同期なのでalertをかけたタイミングで想定のデータが取れるとは
限りません。
タイミング次第ってことですよね。。
そもそも自作の非同期処理でAPIの取得内容によって、ページの内容を変えたり、他のJavascript(ブログパーツ等)を呼び出すことは難しそうですね。。
熱心にご回答頂きありがとうござました。
No.2
- 回答日時:
>xmlHttpRequest.open( 'GET', requestUrl,true);
requestUrlの指定がどうなっているのでしょうか?
たとえばlocation.hrefを指定してあげて、
hoge()を実行すればいけるかもしれません
<script>
test = 0;
function hoge(){
var xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.onreadystatechange = function(){
test = 1;
}
xmlHttpRequest.open( 'GET', location.href,true);
xmlHttpRequest.send( null );
}
hoge();
document.write(test);
</script>
この回答への補足
度々回答頂きましてありがとうございます
requestUrlは外部APIのリクエストURLとなります。
こちらの関数内で、APIのレスポンスデータから判定してtestに1を代入したいと考えています。
No.1
- 回答日時:
ユーザー関数hoge()内の無名関数でグローバル変数を書きかえるんですよね?
無名関数を実行しないとどうしようもないかと?
aがローカルでしょりされるならこう
<script>
test = 0;
function hoge(){
var a = function(){
test = 1;
}
a();
}
hoge();
document.write(test);
</script>
aがグルーバルで処理されるならこう?
<script>
test = 0;
function hoge(){
a = function(){
test = 1;
}
}
hoge();
a();
document.write(test);
</script>
この回答への補足
分かり辛い質問にご回答頂きありがとうございます。
下記の場合は可能でしょうか?
例2:
test = 0; //引き継ぎたい変数
function hoge(){
//処理
var xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.onreadystatechange = function(){
//処理
test = 1;
}
xmlHttpRequest.open( 'GET', requestUrl,true);
xmlHttpRequest.send( null );
}
hoge;
document.write(test);
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Java Javaの問題なのですが、 永久ループを使って以下に従って数値を出力するプログラムを作成する。 ・1 3 2023/06/06 18:43
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- PHP ECCUBE4のページ管理でPHPを実行させたい 1 2023/04/06 11:42
- Excel(エクセル) excel関数について 3 2022/06/06 21:58
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Boolean型配列中のTrueの有無を...
-
同じ型【ハイフンと数字】だけ...
-
Vb.netのグローバル変数の宣言...
-
「オブジェクトが必要です。」...
-
Linux バイナリ実行できない "...
-
ボタンをクリックすると数が増...
-
MFCのキャプション変更
-
window.onloadでのfunction
-
サブウインドウから親ウインド...
-
【正規表現】【javascript】CR...
-
【Jquery】changeイベント毎にa...
-
VB.NETで変数の型は自作...
-
ASP+アクセスでのSQLコメントに...
-
C言語でクロージャを記述する
-
PDFファイルをWEB上で見れるよ...
-
複数ファイルで使うグローバル...
-
-(ハイフン)_(アンダーバー)の...
-
onclick指定関数の引数へローカ...
-
google apps scriptの終了のさせ方
-
ActiveXobjectが作成できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Boolean型配列中のTrueの有無を...
-
【正規表現】【javascript】CR...
-
ASP+アクセスでのSQLコメントに...
-
Linux バイナリ実行できない "...
-
Vb.netのグローバル変数の宣言...
-
ボタンをクリックすると数が増...
-
【Jquery】changeイベント毎にa...
-
正規表現で半角数字1桁のみを全...
-
HTTPSのとき":"が"%3A"ではなく...
-
「オブジェクトが必要です。」...
-
onclick指定関数の引数へローカ...
-
同じ型【ハイフンと数字】だけ...
-
Excel VBA の ChangeFileAccess
-
C# .NET DataGridView の行を追...
-
javascriptで文字挿入でtoggle...
-
ifreamをリロードしたい
-
window.onloadでのfunction
-
static constメンバ変数(配列)...
-
MFCのキャプション変更
-
VB6における事前バインディング...
おすすめ情報