下記はJavaScriptでGETリクエストを送信する、ネットで拾ったコードです。
↓調査したこと・試したこと
JavaScript
1<!DOCTYPE html> 2<html> 3<head> 4<meta charset="UTF-8"> 5</head> 6<body> 7<script> 8var theUrl = "https://www.google.com"; 9 10function httpGetAsync(theUrl, callback) 11{ 12var xmlHttp = new XMLHttpRequest(); 13xmlHttp.onreadystatechange = function() { 14if (xmlHttp.readyState == 4 && xmlHttp.status == 200) 15callback(xmlHttp.responseText); 16} 17xmlHttp.open("GET", theUrl, true); // true for asynchronous 18xmlHttp.send(null); 19} 20 21function callback(text){ 22console.log(text); 23} 24 25httpGetAsync(theUrl, callback); 26</script> 27</body> 28</html>
しかし、エラーが出ます:
Access to XMLHttpRequest at 'https://www.google.com' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
実行環境:
上記のファイルをindex.htmlという名前で保存してchromeで開きます。
「ターゲットのURLにGETリクエストを送信し、HTMLコードを取得する」というだけの、実際に動くコードを教えていただけませんか?ネットに落ちてるすべてのコードでエラーが発生するようです。
CORS
という絶対的なキーワードがあります。
これについて調べられてませんか?
コピペで動くものだけ求めても何もできあがりませんし、そもそも質問になってません。
しかるべきところにしかるべき対価を支払ってやってもらってください
とりあえず環境を整備してください
→「CORS policy」
https://teratail.com/help/avoid-asking
コードをください・デバッグしてください等の丸投げの質問
コミュニケーション放棄して意味不明な発言をしたとして通報しました。
そもそも動くコードつきの回答があるところからひっぱってきてるのに、何がほしいのか意味不明
環境の記載をお願いします。
ローカルで、httpアクセスでない可能性が非常に高いので。
それを確認しないと回答しようがありません。
また、タイトルは変えた方がいいかと。
m.ts10806さんがおっしゃる通り、丸投げ作業依頼にしか見えません。
@asahina1979 動きませんよ、そのコード。私が貼ったソースコードをコピペして試してください。動きませんから。
ここまで正解者なし。「ターゲットのURLにGETリクエストを送信し、HTMLコードを取得する」。こんな単純なことがなぜできないのか?
作業依頼を請け負う場所でも、ガイドラインを無視してオレオレルールを貫く人をフォローする場所でもないですからね。
自分が王様になりたいのなら他所でどうぞ。
あの・・・。
単純なことがなぜできない、と仰るなら、なんで質問してるんですか。。。
その単純なことができてないから、質問しているんですよね?
回答がつかないのは、構文以外に原因があるのが明白だからです。
それなのに、実行環境の記載がないから正答の回答つかないんですよ。
(yambejpさんの回答が正答ですが)
十中八九実行環境が原因です。
だから、環境を教えて下さい、と言ってるんです。
HTMLファイルなのだから環境は上記のファイルをindex.htmlという名前で保存してchromeで開くだけです。
そのことを質問本文に記載して下さい。
m.ts10806さん >
私はまたお人好ししてしまいましたね・・・。
編集で見えなくなってますが、ローカルサーバー立ててるぽいですしね。
原因わかってて、からかってきてる感もある気もしてきました。
(それは流石に偏見か)
回答6件
あなたの回答
tips
プレビュー