• 締切済み

なぜ空白が?

Ajaxを用いてphpファイルにアクセスするプログラムを書きました ・・・略・・・ new Ajax.Request("MyPhotoSet.php?room="+MyPhotoObj.room+"&user="+MyPhotoObj.curUser+"&role="+MyPhotoObj.role+"&pic=1&mess=", { method:"get", onSuccess:MyPhotoObj.Entered,onFailure: EnteredError}); } ・・・略・・・ MyPhotoSet.phpのファイルにリクエストしてから「?」以降の文字を引数として渡しています。 [使用したPHPファイル] <?php $RoomName=$_GET["room"]; $UserName=$_GET["user"]; $role=$_GET["role"]; $pic=$_GET["pic"]; $mess=$_GET["mess"]; print"".$UserName."/".$role."/".$pic."/".$mess.""; ?> 上記のphpファイルにアクセスした後MyPhotoObj.Entered関数に"".$UserName."/".$role."/".$pic."/".$mess."";を返しています。 [MyPhotoObl.Entered関数] MyPhotoObj.Entered = function (myRequest){ var buff=myRequest.responseText; if(buff=="") exit(); alert("Entered="+buff); user=buff.split("/")[0]; role=buff.split("/")[1]; pic=buff.split("/")[2]; mess=buff.split("/")[3]; $("im").src=MyPhotoObj.MyDir+MyPhotoObj.room+"/"+user+"/"+pic+".jpg"; $("name").value=user; $("mess").value=mess; ここでalertを確認すると、 Entered= ikeda/w/1/ となりikedaの前に空白が入ってしまうのですが、これはなぜでしょうか? 消す方法はあるのでしょうか?? 宜しくお願いします。

みんなの回答

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

print"".$UserName."/".$role."/".$pic."/".$mess.""; の print"". は何故必要なのですか? これが原因では

関連するQ&A

  • javascript : undefinedについて

    プログラム書き始めの初心者なのですがjavascriptでの「undefined」の表示に困っています。 prototype.jsを使っています。 以下がプログラムの一部なんですが MyPhotoObj= new Object(); //var MyPhotoObj.curUser; //var MyPhotoObj.curPic; var j=0; window.onload= function(){ // command syntax: MyPhotoR.html?room=Demo&user=ikeda&role=s&ctrl=1&w=320&h=240 //alert("MyPhotoOnLoad="+location.href); MyPhotoObj.MyDir=location.href.substring(0,location.href.indexOf("/MyPhotoR")+1); //alert(MyPhotoObj.MyDir); var keys= location.search.split("&"); MyPhotoObj.room=keys[0].split("=")[1]; MyPhotoObj.myName=keys[1].split("=")[1]; MyPhotoObj.curUser=keys[2].split("=")[1]; MyPhotoObj.role=keys[3].split("=")[1]; MyPhotoObj.ctrl=keys[4].split("=")[1]; MyPhotoObj.mess=keys[5].split("=")[1]; var width=53; var height=40;    ・・略・・ デバッグすると、 MyPhotoObj.myName=keys[1].split("=")[1]; の行で keys[1] is undefined というエラーがでます。 なぜでしょうか? 宜しくお願いします。

  • ajaxの結果をphpで取得する方法

    お世話になっております。 PHPは全くの初心者ですが、jqueryのajaxでGETした内容を PHPでも使用したく、ご教示願いたいのですが、 以下のajaxの「info.a」の値をphpで使用するには どうすればよいでしょうか。 $.ajax({ type: 'GET', scriptCharset:'utf-8', url: '/hoge.jsp', dataType: 'text', cache : false, }) .success(function(data){ var data = data.split(','); info = { a :data[0], b :data[1], }; }) .error(function(XMLHttpRequest, textStatus, errorThrown) { return false; }); <?php $a = $_GET['info.a']; ?> 何卒よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • リンクしたPHPへ変数をわたしたい

    今 サンプルをくっつけようとしています。 *1つのサンプルはログイン認証(PHP)で、ユーザー($username)を認証してから他のメニュー(ここではアップロード・ダウンロード,PHP)へ飛ぶようにテンプレート(TPL)上でPHPのリンクをつけてあります。 *TPLファイルでは、以下のような部分を付加してありますが、 画面上でログインしているユーザー名($username)が表示されます。 <P> {$username|escape:"html"} <BR> <BR> <A href="storage.php?{$username}={$username|escape:"html"}">"{$username|escape:"html"}"ファイルのアップロード・ダウンロード</A> <BR> <BR> 画面上に表示されたリンクをクリックしてstorage.phpへ飛ぶと、 storage.php内で 表示できるように設定した$usernameが表示されません。 storage.phpではユーザー別のフォルダをつくりそこにアップロード・ダウンロードさせたいのですが $usernameがわたらないために どのユーザーでも同じフォルダーにアクセスすることになってる現状です。 storage.phpでは 以下のような内容 function listup($username,$key) { global $dirname; print $dirname; $dir="./data/$dirname"; ............... $username さんのファイル一覧 インターネットや本をみたのですが、わかりません。 すみませんが お気づづきのかたいらっしゃいましたら アドバイスお願いいたします。

    • 締切済み
    • PHP
  • CentOS5でのTomcat5の設定方法

    下記の作業をしました。 1. CentOS 5.5にyumでtomcat5.i386をインストールしました。 2. /etc/rc.d/init.d/tomcat5を修正し、Tomcat5が自動起動できるようになりました。 3. /usr/share/tomcat5/conf/tomcat-users.xmlを下記のように修正しました。  <?xml version='1.0' encoding='utf-8'?>  <tomcat-users>   <role rolename="manager"/>   <role rolename="tomcat"/>   <role rolename="admin"/>   <role rolename="role1"/>   <user username="both" password="tomcat" roles="tomcat,role1"/>   <user username="tomcat" password="tomcat" roles="tomcat"/>   <user username="admin" password="xxxxxxxx" roles="admin,manager"/>   <user username="role1" password="tomcat" roles="role1"/>  </tomcat-users> 4. CentOSのFirefoxから下記のURLを入力しましたが、何も表示されません。  http://localhost:8080/manager/html 他にも修正が必要なファイルがあるのでしょうか。 よろしくお願いします。

  • ajaxのget/post処理速度

    ユーザインタラクティブなWebプログラムをPHP5.2で作ってWindowsXP/Apahe2.0のlocalhostで動かしていますが、サーバ側にあまり負担のかからない処理の場合、Ajax(JQuery,JQuery.formプラグイン)のGET/POSTは通常のGET/POSTに比べてResが帰ってくるのが明らかに遅いのですが、これは一般的なことでしょうか? Ajaxが遅い原因としてどんなことが考えらるでしょうか? Ajaxの処理速度を上げる方法があれば教えて下さい。 よろしくお願いします。

  • jQueryでGETだと送信できるデータがPOSTだと送信できません。

    jQueryでGETだと送信できるデータがPOSTだと送信できません。 jQueryをつかって文字列をPHPに送信したいのですが、GETでは送信できるのにPOSTだと送信ができません。 js -------------------- $.ajax({ type:"POST", //GETだと送信できます。 url:"hoge.php", data:{data:"hoge"}, success:function(data,status){ alert(data); } }); -------------------- php -------------------- <?php $_POST[data] //GETの場合、$_GET[data] == "hoge"。 echo $data; ?> -------------------- 問題点がわかりましたらご指摘いただければと思います。

  • POSTだとAjaxをループできない

    <html> <head> <meta http-equiv="content-type" content="text/html;charset=shift_jis"> <title>Ajax</title> <script type="text/javascript"> <!-- function createXMLHttpRequest(cbFunc) { XMLhttpObject = new XMLHttpRequest(); if (XMLhttpObject) XMLhttpObject.onreadystatechange = cbFunc; return XMLhttpObject; } function func() { for (i=0; i<5; i++) { httpObj = createXMLHttpRequest(displayData); if (httpObj) { httpObj.open("GET","file_chk.php?chk=(ファイル名)",true); httpObj.send(null); //httpObj.open("POST","file_chk.php",true); //httpObj.send("chk=(ファイル名)"); } } } function displayData() { if ((httpObj.readyState == 4) && (httpObj.status == 200)) { alert(httpObj.responseText); } } // --> </script> </head> <body> <input type="button" value="Ajax" onclick="func();" /> </body> </html> 先の投稿と似たものになってしまいますが、以上のようなソースのプログラムを組みました。ボタンを押すとAjaxが作動してphpプログラムを呼び出し、その結果を返すというものです。phpプログラムは任意のファイル名を変数として受け取り、その存在の有無によって返事を返すというものです。ソースは以下の通りです。 <? $file = $_GET['chk']; //$file = $_POST['chk']; if (file_exists($file)) { print "true"; } else { print "false"; } ?> このAjaxで問い合わせるという処理全体をループさせたいのですが、コメントアウトしているPOSTで実行するとうまくいきません。1回しかアラートが出なかったり、5回と設定してるのにそれ以上出たり。当初これに悩まされてましたが、GETで試すとうまくいきました。なぜPOSTだとうまくいかなかったのでしょうか?自分なりに考えてみたのですが全く分かりません。ソースのもので試すときは一方のコメントアウトを外し、他方をコメントアウトさせていました。もちろんphpの方も同様です。 GETとPOSTで書いたソースは間違ってませんよね?同じ意味になってますよね?どちらの方法でもいいことはいいんですが、GETだと与えるクエリによっては行が横に長くなってしまいますし、sendがあるのならそこに変数を書いたほうが見やすいのではないかと思ってPOSTを使ってました。

  • ajax + PHPによるエラーの返し方について

    エラーが戻ってこず困っています。 質問させてください。 ■質問内容 以下の記載の、【url: "./ajax_upd_user.php",】内部にて 任意のエラーコードを返し、【error: function(){】へ遷移するようにしたい。 ■現状 【ajax_upd_user.php】で任意のPHPの「throw new exception」を返しても successになってしまう。。。 ■ソースコード一部 ○「test.php」に以下のコードを記載 $.ajax({ type: "POST", url: "./ajax_upd_user.php", data: strData, dataType: "html", success: function(res){ $('#form_Area').oneTime(2000,function(){ $('#form_Area').unmask(); getUpdateAll(res); })}, error: function(){ $('#form_Area').unmask(); alert( "登録処理でエラーが発生しました。"); } }); お手数ですが、知っている方いらっしゃいましたら ご教授お願いいたします。 以上、よろしくお願いいたします。

    • ベストアンサー
    • AJAX
  • 関数の中の値を取り出したい

    prototype.jsを使って送信して返ってくるデータを、 onCompleteの関数の中で「ret」に値を入れてると思うのですが、 出ててきたときにはalertで表示されません。 どうすればこの形でその関数の中の値を取り出すことができるのでしょうか? function get_data() { ret = ""; new Ajax.Request( "test.php", { method: "get", parameters: "test=aaa", onComplete: function(httpObj){ ret = httpObj.responseText; } } ); alert(ret); return ret; }

  • JavaScript アクセスカウントの取得したい

    サーバー側に保管されているアクセスカウントをJavaScriptで取得したいです。 以下のようなコードを書きましたが、これでは、get_access_count.phpから、得たアクセスカウントの情報を得ることができません。(このPHPではサーバー上のアクセスカウントのデータを取得して、その値をechoします) // インデントは全角スペースです function getAccessCount(){   var sentdata = {        };   $.ajax({     type: 'post',     url: 'php/get_access_count.php',     cache: false,     data: sentdata,     success: function(count) {       // このcount の 値を getAccessCount()の戻り値にしたい     },     error: function() {      alert("エラー");     }   }); } (アクセスカウントはページを読み込んだあとに定期的に呼び出すため、Ajaxを使うのが、いいのかなと思いました。) 同期通信に変えたら、取得できますか?解決方法を教えて下さい。 よろしくお願いします。

専門家に質問してみよう