2012-04-17 19 views
1

私はKohanaのフレームワーク3.2追加の「<」(<)文字3.2

の応答出力とのトラブルを抱えているが、おそらくこれは既知の問題ですが、私はすることができませんでした同様の質問や問題の回答を見つける。

私はコントローラに要求を行うと、私は、フォームでの応答を取得するたびに:

$this->response->body($aView->render()); 

私は、ブラウザでの応答を受信するだけでなく、レスポンスの先頭に「望ましくないと表示されます< " キャラクター。

単純なリクエストでは問題ありませんが、json応答を受け取るようにajaxリクエストを作成しようとすると、コードフローが壊れます。

追加情報:ビューでは、私は "utf-8"として文字セットを設定するメタタグを使用しています。

誰でも手伝ってもらえますか?事前に感謝します

p.s:申し訳ありません前に質問された場合、またはGoogleの検索に表示されます。たぶん私は間違った検索キーワードを使用しました。

-------------------------質問の詳細---------------- ---------------

この動作の簡単な例を表示すると、コントローラのコード、ビュー、および現在私が尋ねていることを示す予期しない応答が掲載されています。

まず、ユーザーを管理するユーザーコントローラー(作成、更新、削除)とログイン/ログアウトアクションがあります。たとえば、新しいユーザーを登録するときに、ユーザー名を受け取り、データベースに存在するかどうかをチェックし、指定されたユーザー名の存在を通知するjson応答をブラウザに戻すメソッドがあります。

<?php defined('SYSPATH') or die('No direct script access.'); 
    class Controller_User extends Controller { 

    //additional code 

    public function action_existsusername(){ 
     $username_candidate = $this->request->param("username",""); 

     $user = ORM::factory("user")->where("username","=",$username_candidate)->find(); 
     $reply = ($user->id) ? '{"reply":"true"}': '{"reply":"false"}' ; 

     $this->response->body($reply); 
    } 

    //more code 

} 

しかし、私は次のようにテキストが入る返信、

<{"reply":"false"} 

を見たとき、私は応答に「<」よりも小さい文字を追加することはありませんよ。この現象は、サーバーから部分的なビューをhtml形式で取得しようとしているときにも表示されます(常にその文字の応答に付加されます)。

上記の例では、ヘッダー(この場合はapplication/json)も送信しようとしましたが、結果はほぼ同じです。

は、それは答えを明確に答えるために感謝を願っています;)

+0

問題が発生しているサンプルビューを表示してください – matino

+0

**あなたが出力している場所を見つけてください – zerkms

+0

いくつかの詳細を追加しました。皆さん、ありがとうございました。 – safink

答えて

1

あなたはおそらくあなたのphpファイルのいずれかの先頭に追加された「<」文字を持っています。ファイル「< <?php」または「< <?」を検索してください。

+0

ありがとう、nutrija!私はconfig/database.phpファイルの先頭に追加の<があるようです。したがって、データベースアクセスを使用するすべての要求は、この文字の先頭に追加されます。私はそのような愚かな間違いに非常に恥ずかしいです:S(おそらく私はもっと眠るべきです:P)とにかくそして、にもかかわらず、あなたの助けにたくさん感謝します。またね – safink