質問の意図。
現在、Ajaxの学習を深めています。
javascript側のrequestオブジェクトのopen()メソッドの
第1引数のURLは単なるテキストストリームを
返すものであれば何でもよいことがわかりました。
1) 単なる、CSVなどのテキストデータを静的にWebサイトに配置。
2) CGIでPerlや、Java Servletでresponse.println( 等で、
単なるテキストデータを返す。
上記(1),(2)のような別に画面とか、HTMLとか関係ないような
サーブレットのようなもの(JSPとかからまない)ものに
対応するURLを
javascript側のrequestオブジェクトのopen()メソッドの
第1引数として、
渡せばよいらしいです。
ところが、Visial Studio上で作成した。
aspx + コードビハインドの構成だと、
はじめから、aspx上に、HTMLのコードが入っています。
Visual Studio 上のC#, VBで、インテリセンス機能を効かせながら
作れるモジュールで、URLとマッピング可能なモジュールで、
かつ、
Java Servletの単なるresponse.println(
するだけのような純粋なプレーンテキストを吐き出すモジュールは
どのようにして、作るのでしょうか?
No.1ベストアンサー
- 回答日時:
Page_load で
Response.Write("hoge")
Response.End()
この回答への補足
ご回答ありがとうございます。
それは、
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('');
}
#########################
#########################
#########################
#########################
#########################
#########################
#########################
#########################
#########################
#########################
#########################
#########################
#########################
#########################
#########################
#########################
#########################
#########################
ごめんなさい。もうここにしかかけないので目立つよ
うに書きます。
No2.にて、ブラウザにて、URLを直接打ち込むと、真っ白になると書きますたが。
よく見ると単にURLのうち間違いでした。
ちゃんと、プレーンテキストかえって来ました。
なので、javascriptのほうにもちゃんと、返せました。
うまくいきました。
お騒がせしました。
#########################
#########################
#########################
#########################
#########################
#########################
#########################
#########################
#########################
No.2
- 回答日時:
ブラウザにaspxのURLを入れるとどうなりますか?
あと、InetspyなどのHTTPモニタで動きを見るとか。
この回答への補足
ブラウザの入力欄に
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上で作業したい
というのが、この質問の趣旨です。
もうひとつ、補足します。
No1の補足にて、貼り付けた通信部分を
"GET"の形式にして、
httpRequest('http://www.google.co.jp', generateDropdownList);
と、googleのURLですると、
googleのhtmlソースがテキストで帰ってきました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
- Visual Basic(VBA) Excel・ユーザーフォームの情報を受け渡したい 4 2022/06/08 10:11
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローカルのレジストリを読みたい
-
javascritの(e)または(event)に...
-
画面間でのJavaScrip...
-
JSの「document.getElementById...
-
タブブラウザで focus() を実...
-
javaScriptでグローバル変数に...
-
Webページ中の javascript をVB...
-
JSPの処理の途中で、JavaScript...
-
JavaScriptで ブラウザの閉じる...
-
gas 全角数字を半角数字に変換
-
VB.NET2003 テキストボックスに...
-
正整数の半角数字かどうか判定する
-
jQuery ui Datepicker 明日以降...
-
if(1){...}とはどういうことで...
-
htmlのfileタグに自動で値を入...
-
計算結果が毎回違う。
-
javascript で外部サイトにデー...
-
PDFフォームで条件つき金額を表...
-
テキストエリア内のカーソル位...
-
Visual Basic 6.0 のテキストボ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローカルのレジストリを読みたい
-
Webページ中の javascript をVB...
-
画面間でのJavaScrip...
-
javaScriptでグローバル変数に...
-
フォルダ内のファイル名を取得...
-
CSSのクラスを動的に変更 classで
-
イベントevt?evt.target:event....
-
タブブラウザで focus() を実...
-
event.srcElementの動的設定
-
エクセル2010のvbaについて
-
jquery か javascript で json ...
-
【javascript】プロパティ?オ...
-
JavaScriptの仕様(ECMA-262以外)
-
PHPで定義した変数を引数として...
-
javascriptでオブジェクトのメ...
-
ASP.NETでURLにマッピングされ...
-
JavaScript 日数計算の関数で演...
-
VBAの引数の指定 カッコとイコ...
-
JavaScriptでオブジェクトを識...
-
jQueryで、listの要素数を取得...
おすすめ情報