• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ASP.NETでURLにマッピングされたして、プレーンテキスト返却モジュール)

ASP.NETでURLにマッピングされたプレーンテキスト返却モジュール

このQ&Aのポイント
  • Ajax学習中に気づいたことは、javascriptのrequestオブジェクトのopen()メソッドの第1引数は任意のテキストストリームを返せること。
  • 質問の意図は、ASP.NETでURLにマッピングされたプレーンテキストを返すモジュールを作りたいこと。
  • 現在の問題は、Visial Studio上でaspx + コードビハインドの構成で作成した場合、HTMLのコードが含まれてしまうこと。純粋なプレーンテキストを返すモジュールをどのように作るかがわからない。

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

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

Page_load で Response.Write("hoge") Response.End()

lawson
質問者

お礼

######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### ごめんなさい。もうここにしかかけないので目立つよ うに書きます。 No2.にて、ブラウザにて、URLを直接打ち込むと、真っ白になると書きますたが。 よく見ると単にURLのうち間違いでした。 ちゃんと、プレーンテキストかえって来ました。 なので、javascriptのほうにもちゃんと、返せました。 うまくいきました。 お騒がせしました。 ######################### ######################### ######################### ######################### ######################### ######################### ######################### ######################### #########################

lawson
質問者

補足

ご回答ありがとうございます。 それは、 Visual Studio上で可能でしょうか? <script runat=server形式で aspxにロジックをベタ書きする。やり方のイメージでの回答でしょうか? Visual Studio上で、新規でページを作成して、 ためして見ましたが。 クライアント側には、空文字列が帰ってきます。 Ajax側のXmlHttpRequestオブジェクトのopen( の引数としては、"GET"と"POST"の両方を試してみましたが。 いづれも結果は同じでした。 パッケージ名に、個人名や、企業名が載っているためソースコードのすべては 貼り付けできませんので、 一部抜粋して、貼り付けます ############################# ASPXのコードの概要 ############################# //団体名を連想するパッケージなので //消します。 <%@ Page language="c#" Codebehind="Test.aspx.cs" AutoEventWireup="false" Inherits="XXXXXXXXXXXXXXXXXXX.Test" %> <HTML> <HEAD> <title>Test</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body> <form id="Form1" method="post" runat="server"> </form> </body> </HTML> ############################# ASPX.CSのコードの概要 ############################# public class Test : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { // // ページを初期化するユーザー コードをここに挿入します。 // this.Response.Write("Hellow World" + System.Environment.NewLine); this.Response.Write("d001,Dのデータです。15インチ液晶ディスプレイ" + System.Environment.NewLine); this.Response.Write("d002,Dのデータです。17インチ液晶ディスプレイ" + System.Environment.NewLine); this.Response.Write("d003,Dのデータです。19インチ液晶ディスプレイ" + System.Environment.NewLine); this.Response.Write("d004,Dのデータです。20インチ液晶ディスプレイ" + System.Environment.NewLine); // this.Response.Write("d005,Dのデータです。21インチ液晶ディスプレイ" + System.Environment.NewLine); this.Response.End(); } ############################# Ajaxのjavascript側でのコード概要、(通信部の共通ロジック・・・ ############################# // httpObj.open("GET", target_url, true); httpObj.open("POST", target_url, true); の両方で、ためして、駄目でした。 //引数で与えられたURLにHTTPリクエストを行い、指定された関数を実行 function httpPostRequest(target_url, functionReference) { alert("httpPostRequest()"); try { if(window.XMLHttpRequest) { httpObj = new XMLHttpRequest(); } else if(window.ActiveXObject) { httpObj = new ActiveXObject("Microsoft.XMLHTTP"); } else { httpObj = false; } } catch(e) { httpObj = false; } if(!httpObj) { httpObjGenerateFail(); } timerId = setInterval('timeoutCheck()', 1000); // httpObj.open("GET", target_url, true); httpObj.open("POST", target_url, true); httpObj.onreadystatechange = function() { if(httpObj.readyState == 4) { clearInterval(timerId); if(httpObj.status == 200) { functionReference(httpObj.responseText); } else { alert(httpObj.status + ':' + httpObj.statusText); return false; } } } //タイムアウト秒数の再設定 timeout_sec = timeout_sec_InitialValue; //リクエスト送信 httpObj.send(''); }

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

ブラウザにaspxのURLを入れるとどうなりますか? あと、InetspyなどのHTTPモニタで動きを見るとか。

lawson
質問者

お礼

もうひとつ、補足します。 No1の補足にて、貼り付けた通信部分を "GET"の形式にして、 httpRequest('http://www.google.co.jp', generateDropdownList); と、googleのURLですると、 googleのhtmlソースがテキストで帰ってきました。

lawson
質問者

補足

ブラウザの入力欄に http://hogehoge/hoge/Test.aspx と打ち込むと画面は真っ白です。 HTMLソースを除いてみると、 ################################# <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD> <BODY></BODY></HTML> ################################# これは、先ほどのASPX上に記載されているHTMLイメージと 不一致しており、少々変な感じです。 ところが、 Test.aspxをVisual Studio上でスタートアップページとして 選択して、VS上から、F5キーにて、実行すると、 d001,Dのデータです。15インチ液晶ディスプレイ d002,Dのデータです。17インチ液晶ディスプレイ d003,Dのデータです。19インチ液晶ディスプレイ d004,Dのデータです。20インチ液晶ディスプレイ と表示されます。 <htmlが混じってるのかな?と思い。 HTMLソースを除いてみると、 綺麗に、 ################################################### d001,Dのデータです。15インチ液晶ディスプレイ d002,Dのデータです。17インチ液晶ディスプレイ d003,Dのデータです。19インチ液晶ディスプレイ d004,Dのデータです。20インチ液晶ディスプレイ ################################################### と純粋なプレーンテキストでした。 画面として、ASPXが実行されるのではなく、 単なるプレーンテキストを返却する。 URLと、マッピングされたロジックを作りたいです。 Java Servletなどでは、 out.println( 形式でやって、ブラウザでたたいても、 そのままのものが帰ります。 それとおなじことが、Visual Studio上で作業したい というのが、この質問の趣旨です。

すると、全ての回答が全文表示されます。

関連するQ&A