0

ユーザーが連絡先のdbaseテーブルを検索し、テキストを電子メールで送信する連絡先をクリックできるようにするajaxスクリプトを実行しています。テキストを連絡先に送信するためのリンクは、結果のアンカーリンクであり、テキストはURLで変数として渡されます。次に、サーバー側で、サーバーはテキストを連絡先の電子メールアドレスに電子メールで送信します。

私が抱えている問題は、テキストがURLに隠されたままではなく、特定の長さを超えると、ページに表示されるようになることです。その後、スクリプトは正しく機能しなくなります。最初は、テキスト内の特殊文字がアンカーリンクのURLを破損していることが原因である可能性があると思いましたが、それはそうではないようです...それは長さの問題です。

この投稿を見つけました

つまり、クエリ文字列に制限はないはずです。ただし、私の場合、クエリ文字列がURLからポップアウトされてページに表示されるため、クエリ文字列を送信しようとする前でも問題が発生します。サーバーに送信されるURLに含まれているため、長いテキスト値をURLの外に渡す良い方法は考えられません。

誰かがこの問題に遭遇しましたか?もしそうなら、回避策を提案できますか?

これが例です。

a href="sendemail.php?contactid=33&text=HERE IS SOME SHORT TEXT">Send to Harry</a> //works

a href="sendemail.php?contactid=33&text=HERE IS SOME REALLY LONG TEXT THAT GOES ON AND ON.....ON AND ON.... ON AND ON....ON AND ON....PAST A FEW HUNDRED CHARACERS">Send to Harry</a>  // "HERE IS SOME REALLY LONG TEXT etc." IS VISibLE ON PAGE
4

1 に答える 1

0

このjsfiddleで両方のリンクをテストします:http://jsfiddle.net/rzj6n/すべてが正常です、あなたの問題は他の場所にあるに違いありません。

ただし、非常に長いクエリ文字列を避けたい場合は、GETを使用する代わりに、フォームを使用してデータをPOSTすることをお勧めします。

<form action="sendemail.php" method="POST">
    <input type="hidden" name="contactid" value="33" />
    <input type="hidden" name="text" value="here is some text..." />
    <input type="submit" value="Send to Harry" />
</form>

次に、とを使用して渡された値にアクセスする必要があり$_POST['contactid']ます$_POST['text']

于 2012-12-25T21:55:02.490 に答える