AJAX を使用して json 文字列を php ファイルに渡すスクリプトがあります。JSON.stringify()
JSON文字列にjavascript配列を使用します。問題は、配列内の項目に引用符が含まれることがあることです (つまり、html タグの属性の場合)。生成された json 文字列の例を次に示します。
[["CUGHDAA ID Equity","Cullen Global High Dividend USD","0.5","<a href="\""#"\"">x</a>"],["XESX GY Equity","DB X Euro Stoxx 50","0.5","<a href="\""#"\"">x</a>"],["ABEFROA LX Equity","Aberdeen Global Emerging Markets","0.25","<a href="\""#"\"">x</a>"]]
JSON.stringify()
引用符をエスケープしてhtmlエンコードしますが、GET変数を介してphpファイルに文字列を渡すと、phpファイルがそれを受け取ることができないようです.引用符はすべてを台無しにしているようです. GET フォームを台無しにすることなく、json 文字列が確実に php に到達するようにするにはどうすればよいですか?
編集: POST を使用する場合、jQuery Ajax 経由で渡すにはどうすればよいですか?
これは私がこれまでに持っているものです:
var form = $(this),
formData = '&id=' + id + '&portData=' + JSON.stringify(tbl),
formUrl = form.attr('action'),
formMethod = form.attr('method'),
responseMsg = $('#update-response');
//add status data to form
form.data('formstatus','submitting');
//Do the ajax
$.ajax({
url: formUrl,
type: formMethod,
data: formData, etc...
変数名を使用しているにもかかわらずformData
、渡すデータはフォームではなく、送信時に収集される一連の JavaScript 変数です。GET の代わりに POST を介してid
渡すにはどうすればよいですか?JSON.stringify(tbl)