• ベストアンサー

XMLHttpRequestのsendメソッド

現在以下のようにスクリプトを記述し、実行すると処理は正しく動作するのですが処理が終わるまでに5分以上かかっています。 調べてみるとsendメソッド実行時に時間がかかっているみたいなのですが原因が不明です。 どなたか同じ現象になった方はいませんでしょうか? httpRequest = new XMLHttpRequest(); httpRequest.open('GET', url, false); httpRequest.send(null);

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

サーバー側の問題では?

関連するQ&A

  • XMLHttpRequestのopenとsend

    XMLHttpRequestのメソッドにopenとsendがありますが、平たくいいますと、どういったことでしょうか? 下記のサイトを見ましたが、よくわかりませんでした。 http://ponpon-village.net/ajax/xmlhttp.htm#Xmlhttp_Reference よろしくお願いいたします。

  • XMLHttpRequest 外部ソースの取得

    外部サーバーのHTMLソースを取得することが出来ないのでしょうか? (仮)ヤフーさんの場合 var req = new XMLHttpRequest(); req.open('GET', 'http://www.yahoo.co.jp', false); req.send(null); var str = req.responseText; こちらapache(Localhost)の環境で作成しています。 XMLHttpRequest Level2との記載もあるのですが・・ 初心者ですが宜しくお願いします。

  • Ajaxのsendメソッドについて

    Webプログラミング初心者です。 Ajaxにおいて、XMLHttpRequestオブジェクトのプロパティであるsendおよびopenについてお聞きします、GETを使う時にopenメソッドの引数に送信すべき情報を「?キー名=値」の形式でURLの末尾に指定するのは理解できるのですが(結果として表示されるページのURLにその値が含まれているので。)、なぜPOSTを使う時にsendメソッドの引数に「?キー名=値」の情報を入れる必要があるのかわかりません。 GETの時とは違い「?キー名=値」の情報の使い道がない気がするのですが…

  • XMLHttpRequestのブラウザ対応

    JavaScriptで、あるURLの結果を取得しようと以下のようなスクリプトを組みました。 var xmlHttp = false; function loadText(){ xmlHttp = new XMLHttpRequest(); xmlHttp.open("GET", "http://hogehoge, true); xmlHttp.onreadystatechange = checkStatus; xmlHttp.send(null); } function checkStatus(){ if (xmlHttp.readyState == 4 && xmlHttp.status == 200){ res = xmlHttp.responseText; alert(res); } } IE8では、結果が取得できたのですが、firefox4.0.1,Chromeでは取得できませんでした。 xmlHttp.status が0となってしまいました。 ただし、GET対象のURLをローカルサーバにすると、取得することができました。 firefox4.0.1,Chromeのブラウザの設定なのでしょうか?それともスクリプトの書き方に問題があるのでしょうか? すみませんが、教えてください。

  • XMLHttpRequestオブジェクトが思うように動作しない

    XMLHttpRequestオブジェクトが思うように動作しない 質問させてください。 JAVASCRIPTでRSSリーダーを作成しているのですが、うまく作れません。 処理は以下のように行っています。 1. RSSのURLを配列に格納する。 2. XMLHttpRequestオブジェクトを作成する。 3. 配列の要素数だけforループを行い、ループ内でopen処理とコールバック関数の設定を行う。 僕の行っている処理では、なぜか最後に登録したURLのRSSだけが表示されます。(push,popしているので最後に登録=最初にopenする) 参考までにコードを以下に記載します。 どうかお知恵をお貸しください。 //ファイルにアクセスし受信内容を確認します methodは'GET' function requestFile( data , method ) { URLList = new Array(); URLList.push(URL1); URLList.push(URL2); //XMLHttpRequestオブジェクト生成 httpoj = createHttpRequest() //[1] for (i = 0; i < URLList.length; i++) { //open メソッド // HTTP上のXMLでないと駄目・・・? URL = URLList.pop(); document.getElementById('test1').innerHTML += URL; httpoj.open( method , URL , 'false'); //[2] //受信時に起動するイベント httpoj.onreadystatechange = function() //[4] { //readyState値は4で受信完了 if (httpoj.readyState==4) //[5] { //コールバック on_loaded(httpoj); } } } //send メソッド httpoj.send( data ); //[3] }

  • XMLHttpRequestがApacheのaccess_logに残らない

    XMLHttpRequestの通信がApacheのaccess_logに記載されません。 var req = new XMLHttpRequest(); req.open('GET', url); req.send(null); だけでテストしてもだめです。しかしXMLHttpRequesの返答はちゃんとできていてステータスコードも正常です。ログに入らないだけです。 これはなぜでしょう。XMLHttpRequestとはそういうものなのでしょうか。 もしそうなら、アクセス数でページビューをカウントする場合、XMLHttpRequestで閲覧した人はページビューにまったく反映されないという事になりますよね

  • 関数の中に記述した関数が、ブラウザによって動かない

    現在、 [1]読み込まれたページのソースを取得 [2]予め指定したキーワードに合致した言葉があるかどうか判断 [3]結果が正なら、関数実行 というプログラミングをJavaScriptでしております。 ほとんど完成しているのですが、ブラウザによって、正常に表示されたり、されなかったりします。 IE6は正常に表示されますが、FireFox2はロード状態のままなにも起こりません。 なにか、考えられる原因はありますでしょうか? サンプルソースを以下に載せますので、小さなことでも、なにか助言がございましたら、いただけると幸いです。 ※サンプルソースではalert関数を使用しておりますが、実際には外部JavaScriptに記述された関数を実行してます。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>テスト</title> </head> <body> Wolly<br> Welly<br> Willy<br> Wally<br> Wully<br> <script type="text/javascript" charset="utf-8"><!-- ////////// XMLHttpRequest オブジェクトの作成 ////////// httpRequest = false; if(window.XMLHttpRequest) { // Firefox, Opera など httpRequest = new XMLHttpRequest(); httpRequest.overrideMimeType("text/xml"); } else if(window.ActiveXObject) { // IE try { httpRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } } ////////// GET リクエストの発行 ////////// var serch_url = document.URL; httpRequest.abort(); httpRequest.open("GET", serch_url , true); ////////// レスポンスの処理 ////////// httpRequest.onreadystatechange = function() { if(httpRequest.readyState == 4) { if(httpRequest.status == 200) { var search_txt = "Wally"; var search_txtlen = search_txt.length; var search_01 = httpRequest.responseText.indexOf(search_txt,0); var search_02 = httpRequest.responseText.indexOf(search_txt,search_01+search_txtlen); if((search_01 != -1)&&(search_02 == -1)){ alert("見つからない!"); }else{ alert("見つけた!"); } } } } httpRequest.send(null); // --></script> </body> </html>

  • 【ajax】 XMLHttpRequestオブジェクトを作成し連続でsend

    連続して非同期の通信を行う方法が分からず困っています。 下のようなコードを書きました。 クライアントからサーバにある「hoge1.txt」をGETするというものです。 その処理を行う関数(httpXMLRequest)を一つだけ呼び出すとうまくいきます。しかし二つ目に読み込んだ処理が実行されません。 同時に、というのは無理なのでしょうか。。 --------             ・             ・             ・ httpXmlRequest('hoge1.txt','GET','',dspXMLElement,httpError) //httpXmlRequest('hoge2.txt','GET','',dspXMLElement,httpError) } function httpXmlRequest \ (target_url,method,data,success_func,error_func){ httpObj=new XMLHttpRequest() timerId=setInterval('timeoutCheck()',1000) httpObj.open(method,target_url,true) httpObj.onreadystatechange=function(){ if(httpObj.readyState==4){ clearInterval(timerId) if(httpObj.status==200){ success_func(httpObj.responseXML) httpObj.abort() } else{ erro_func(httpObj.status+':'+httpObj.statusText) return false } } } httpObj.send(data) } 以上、よろしくおねがいします。

  • javascript と php とでのデータの受け渡し

    既出の質問かもしれませんが、どの回答を読んでもいまいち理解できなかったので質問させて下さい。 phpからjavascriptへ、その処理結果をphpに送りたいと考えております。 まず phpの変数のデータをjavascriptでクライアント側で処理させるために、 print(<script type='text/javascript'>);~などなど、 printを使ってphpの変数を入れ込んだスクリプトを出力しています。 そして、出力したjavascriptの中にクライアント側の処理後のデータ をphpに送るために、 XmlHttpRequestのopenメソッドで("GET",url,true)とし、 urlには"***.php" + "?a=" + aの値 をいれて request.send(null);で送信するようにしています。 最後に、送信先のphpで $a = $_GET["a"];として受け取ろうとしています。 ちなみに、これらは全て同一ファイル上に書いてあり、 XmlHttpRequestのopenメソッドのurlには、 そのファイル自身を記述してあります。 ブラウザでアクセスしてソースを見てみると、 javascriptは記載されていますが、処理がされていないようで、よって 最後にGETでデータも取得がされていないようです。 そもそもこういったことは可能なのでしょうか? 自分の考え方は間違っているのでしょうか? javascriptもphpも初心者なもので、考え方があっているのかいないのかも 判断できない状況です。また、このjavascriptが何をきっかけに実行されるようにすればいいのかもよくわかりません。 それでは、宜しくお願い致します。

  • XMLHttpRequest() Ajaxについて

    こんにちは。Ajaxに挑戦しているのですが、テキストフィールドに入力して送信ボタンを押したら、自作関数の XmlHttpRequest()を呼び出して、kakunin.jspに飛ばして、kakunin.jspで作ったコードを<result>タグ内に表示し、その際現れる「削除」ボタンをクリックしたら、今度は自作関数 deleteRequest()を呼び出し、sakujyo.jspに飛ばしてデータベースのレコードの削除を行い、<result>タグ内の表示をかえたいのですが、削除の方がうまくいっておりません(削除するボタンを押して、deleteRequest()は呼び出しているのですが、そのあと、delete.jspに飛ばず、kakunin.jspに飛びます)。以下が大まかなコードです。 function XmlHttpRequest(){ if(window.XMLHttpRequest){ httpObject=new XMLHttpRequest(); } else if(window.ActiveXObject){ httpObject=new ActiveXObjec("Msxml2.XMLHTTP"); } httpObject.onreadystatechange=display; 途中省略します。     httpObject.open("GET","kakunin.jsp?nen="+encnen+"&tsuki="+enctsuki+"&syaincode="+encsyaincode,true); httpObject.send(null); } function display(){ if(httpObject.readyState==4 && httpObject.status==200){ document.getElementById("result").innerHTML=httpObject.responseText; 省略します。 } } function deleteRequest(){ if(window.XMLHttpRequest){ delhttpObject=new XMLHttpRequest(); } else if(window.ActiveXObject){ delhttpObject=new ActiveXObject("Msxml2.XMLHTTP"); } delhttpObject.onreadystatechange=displaysql("削除しました"); 省略します delhttpObject.open("GET","delete.jsp?nen="+encnen+"&tsuki="+enctsuki+"&syaincode="+encsyaincode,true); delhttpObject.send(null); } function displaysql(msg){ if(delhttpObject.readyState==4 && delhttpObject.status==200){ document.getElementById("result").innerHTML=delhttpObject.responseText; alert(msg); kidou(); } } こういったやり方がわからなく、自己流でやってみましたので、おかしな部分もあるかもしれませんが、やりたい事は押すボタンによって、飛ばすjspファイルを変え、<result>タグ内の表示も、各jspファイルで、 出力されたものを表示させたいのですが、自分で考えたやり方ではどこか間違っているようですので、どなたかアドバイスの方、よろしくお願いいたします。 環境は、IE7です。よろしくお願いいたします。

専門家に質問してみよう