Ajax クライアント


  基本コード




全てのサンプルコードで document.all で、IE かどうかを判断していますが、ASP.NET で自動作成される
判断用のコードは以下のようになります
( コードが長くなるので、サンプルは全て document.all で書かれています )

Microsoft Official クロスブラウジング用コード
  

if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
	// IE 用
}
else {
	// IE 以外用
}
  

IE と Mozilla 兼用です。
( ※ dom は必要無いと思いますが、一応付加してあります )

  

<SCRIPT language="javascript" type="text/javascript">

	var dom,bIE;
	var objXMLHttp;

	if ( document.all ) {
		bIE = true;
		dom = new ActiveXObject("Msxml2.DOMDocument.3.0");
		objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
	}
	else {
		bIE = false;
		dom = document.implementation.createDocument("", "", null);
		objXMLHttp = new XMLHttpRequest();
	}

</SCRIPT>
  

Microsoft の実際にインストールされている
Msxml2.DOMDocumentMsxml2.XMLHTTP のバージョンはレジストリで確かめて下さい。







  サーバーへ送信




ファイルのアップロードをするフォームの onSubmit ハンドラの内部より呼ばれます。
false を返すと、submut しないように記述されます。

responseText は返された文字列をそののまま受け取りますが、漢字を受け取りたい場合は、
Ajax 日本語処理 を参照して下さい

また、XML をオブジェクトで受け取る方法もありますが、XML をクライアントで解析する必要があるので
ここでは説明しません。XML は、複合した多くの情報を受け取る場合に使用します。

  

function FileExist( strName ) {

	var result;

	// 最後のパラメータの false は、同期実行を意味します
	objXMLHttp.open(
		"GET",
		"http://winofsql.jp/realwebapp/file_exist.php?" +
		"name=" + strName
		, false );
	objXMLHttp.send( "" );
	result = objXMLHttp.responseText;

	if ( result == 'OK' ) {
		if ( confirm( "このファイル名は既に存在します。置き換えますか?   " ) ) {
			return true;
		}
		else {
			return false;
		}
	}
	else {
		return true;
	}

}
  

URL は、相対パスが指定できます。また、/ からのパスでもかまいません。
クライアントの XMLHttp は同じドメイン内でしか動作しない 為、ドメインを記述して呼び出している(上記例)のに、
ページそのものが IPアドレスを使用して表示している場合、異なるドメインとしてエラーになりますので注意してください


  サーバ側のコード

サーバと通信する場合、クライアント側の仕様により、サーバのコードは utf-8 を使用する事が最も望まれます。
しかし、慣れるまでは「日本語を使用しない」という事を守って shift_jis を使用すると良いでしょう。
( utf-8 を使用する為にはいろいろ知っておく事があります )

以下のコードでは、日本語を使用しないので、一行目のヘッダは無意味ですが、後々の仕様変更の為に書いておきます。
また、2行目のキャッシュ制御も必要ありませんが、ブラウザで直接表示してテストする時の為に書いておきます。

  

<?
header( "Content-Type: text/html; Charset=shift_jis" );
header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );

$file_path = "file/{$_GET['name']}";

if ( file_exists ( $file_path ) ) {
	print "OK";
}
else {
	print "ERR";
}
?>
  


  実演

サーバー側に実際 a.txt というファイルがあります。




  

・
・
function doit () {

	var strName = document.getElementsByName("file")[0].value;

	alert( FileExist( strName ) )

}
・
・
・
<INPUT type=text name="file" value="a.txt">
<INPUT type=button value="実行" onClick='doit()'>
  




yahoo  google  MSDN  MSDN(us)  WinFAQ  Win Howto  tohoho  ie_DHTML  vector  wdic  辞書  天気 


[ajax]
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
24/04/19 20:42:06
InfoBoard Version 1.00 : Language=Perl

1 BatchHelper COMprog CommonSpec Cprog CprogBase CprogSAMPLE CprogSTD CprogSTD2 CprogWinsock Cygwin GameScript HTML HTMLcss InstallShield InstallShieldFunc JScript JScriptSAMPLE Jsfuncs LLINK OldProg OracleGold OracleSilver PRO PRObrowser PROc PROconePOINT PROcontrol PROftpclient PROjscript PROmailer PROperl PROperlCHAT PROphp PROphpLesson PROphpLesson2 PROphpLesson3 PROphpfunction PROphpfunctionArray PROphpfunctionMisc PROphpfunctionString PROsql PROvb PROvbFunction PROvbString PROvbdbmtn PROvbonepoint PROwebapp PROwin1POINT PROwinSYSTEM PROwinYOROZU PROwindows ProjectBoard RealPHP ScriptAPP ScriptMaster VBRealtime Vsfuncs a1root access accreq adsi ajax amazon argus asp aspSample aspVarious aspdotnet aw2kinst cappvariety centura ckeyword classStyle cmaterial cmbin cmdbapp cmenum cmlang cmlistbox cmstd cmstdseed cmtxt cs daz3d db dbCommon dbaccess dnettool dos download flex2 flex3 flex4 framemtn framereq freeWorld freesoft gimp ginpro giodownload google hdml home hta htmlDom ie9svg install java javaSwing javascript jetsql jquery jsp jspTest jspVarious lightbox listasp listmsapi listmsie listmsiis listmsnt listmspatch listmsscript listmsvb listmsvc memo ms msde mysql netbeans oraPlsql oracle oracleWiper oraclehelper orafunc other panoramio pear perl personal pgdojo pgdojo_cal pgdojo_holiday pgdojo_idx pgdojo_ref pgdojo_req php phpVarious phpguide plsql postgres ps r205 realC realwebapp regex rgaki ruby rule sboard sc scprint scquest sdb sdbquest seesaa setup sh_Imagick sh_canvas sh_dotnet sh_google sh_tool sh_web shadowbox shgm shjquery shvbs shweb sjscript skadai skywalker smalltech sperl sqlq src systemdoc tcpip tegaki three toolbox twitter typeface usb useXML vb vbdb vbsfunc vbsguide vbsrc vpc wcsignup webanymind webappgen webclass webparts webtool webwsh win8 winofsql wmi work wp youtube