私は長い文字列を取り、それをさらに処理するphp CodeIgniter関数にAJAXリクエストを介して送信するjavascript/jqueryコードを少し持っています。呼び出しは次のようになります。
var params = "str="+escape(JSON.stringify($('#element').find('html').get(0).outerHTML));
xmlhttp1 = new XMLHttpRequest();
xmlhttp1.open("POST", "http://www.url.com/controller/function", false);
xmlhttp1.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp1.setRequestHeader("Content-length", params.length);
xmlhttp1.setRequestHeader("Connection", "close");
xmlhttp1.send(params);
目的のouterHTMLをうまく渡しますが、escape()は、php関数に必要な「+」などの特定の文字をエスケープできません。これらの文字をエスケープするために使用できる別の関数はありますか、それとも php 関数に送信する前に、outerHTML を手動で処理する必要がありますか?