フォームに含まれるHTMLをサーバー側のスクリプトに送信して、データベースに保存できるようにしようとしています。私が送るのはクエリ文字列で、HTMLにカンマやアンパサンドのような文字が含まれるたびに、残りのHTMLはその時点で切り捨てられます。AJAXを介してサーバー側のPHPにHTMLを送信
ありがとうございます!
フォームに含まれるHTMLをサーバー側のスクリプトに送信して、データベースに保存できるようにしようとしています。私が送るのはクエリ文字列で、HTMLにカンマやアンパサンドのような文字が含まれるたびに、残りのHTMLはその時点で切り捨てられます。AJAXを介してサーバー側のPHPにHTMLを送信
ありがとうございます!
あなたが適切にURLエンコードする必要がありparameteres要求送信:
$.ajax({
url: 'foo.php',
data: { html: '<html>You can use whatever characters you want here</html>' },
type: 'GET',
success: function(result) {
}
});
か:$.GET["html"]
:
$.ajax({
url: 'foo.php',
data: { html: $('#someTextFieldWhichMightContainHtml').val() },
type: 'GET',
success: function(result) {
}
});
今、あなたは安全にあなたのPHPスクリプトでhtml
変数を読み取ることができます。
私は今、あなたのコードは次のように見えることとします
$.ajax({
url: 'foo.php?html=' + $('#someTextField').val(),
type: 'GET',
success: function(result) {
}
});
私は、文字列の連結を使用しないように、あなたをお勧めしますし、常にdata
ハッシュを使用します。
Darin Dimitrovが言っているように、それはURLエンコードされる必要があります。私はこれらの関数を使用して、エンコードとデコードをjavascriptで行います。
function urlencode(str) {
return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
}
function urldecode(str) {
return unescape(str.replace(/\+/g, ' '));
}
元はphpbuilderの投稿からです。
うわー。醜い車輪reinvention。 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent – Quentin
[encodeURIComponent](https://developer.mozilla.org/ja/JavaScript/Reference/)がある場合に、なぜこのような関数を使用しますか? Global_Objects/encodeURIComponent)と[decodeURIComponent](https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/decodeURIComponent)を参照してください。独自のエンコーディング関数をローリングすることはめったに良いことではありません。 –
うわー、明らかに私のコードを更新する必要があります。通知をありがとう。 –
はhtmlとして保存されています。 – kobe
@gov、no htmlは予約語ではありません。あなたは好きな名前を使うことができます。重要な部分は 'data'ハッシュを使うことです。 –
私は常にクエリ文字列として渡します。なぜ私は上記のコードでハッシュを使用したのですか?私はちょうど学習目的を求めています。気にしないでください。 – kobe