2010-11-18 14 views
5

私はこれを尋ねるのは非常に馬鹿だと思っていますが、ユーザーが入力を入力するフォームを作成しています。入力がパーセント記号、たとえば5%と入力される場合もあります。これはGETリクエストの一部として渡されます場合は、次のように:get要求のパーセント記号が私のサイトを破壊するのはなぜですか?

http://kburke.org/thesis/company_x/?id=4&var1=1&ops=23255&cashflow=25000&growth=5%25&pv=100000&roe=20&profitmargin=30&roe=80&turnover=2 

私は404ページが見つかりませんエラーが発生します。私は

&growth=5%25 

ページロード罰金クエリ文字列のペアを削除する場合。誰かが問題の原因を説明するのを助けることができますか?

編集:私はページからすべてのJavascriptを削除しようとしましたが、サーバーはまだクラップアウトしています。私はまた、MAMPでそれを実行しようとしたところ、

http://localhost:8888/thesis/company_x/?id=4&var1=1&ops=23255&cashflow=25000&growth=5%25&pv=100000&roe=20&profitmargin=30&roe=80&turnover=2 

となり、うまくいきました。自分のサーバーに問題があるのだろうかと思っています。 Firebugをコンソールに開いてページを実行すると、エラーが非常に短く表示され、404ページが読み込まれます。リダイレクトを一時停止してエラーメッセージを読むことができる方法はありますか?

+3

URLエスケープが正しいです。何らかの理由でサーバーがクラッピングしています。サーバーアプリケーションの詳細を理解することなく、何が間違っているかを推測できます。 – cdhowie

答えて

9

URL ENCODINGをご覧ください。 URLの "%"文字は何か特別な意味です。

スペース文字 ''をURLに%20としてエンコードします。 URLにパーセント文字 '%'を%25としてエンコードします。

あなたのURLがスクリプトに到達した後、あなたの引数 'growth'は「5%」になります。

私はあなたのURLをめちゃくちゃにしていました。成長引数を解析しようとすると、あなたのスクリプトがクラッシュしているように見え、あなたのウェブサイトは404ページにあなたを送り込んでクラッシュを隠しています。私はあなたのスクリプトコードを投稿したい場合は、より多くのヘルプが必要です。

+0

問題のページからすべてのJavascriptを削除しようとしましたが、404エラーが発生しました。私もMAMPで実行しようとしたが、エラーは発生しなかった。それは問題の絞り込みに役立ちますか? –