1

AJAX を使用して json 文字列を php ファイルに渡すスクリプトがあります。JSON.stringify()JSON文字列にjavascript配列を使用します。問題は、配列内の項目に引用符が含まれることがあることです (つまり、html タグの属性の場合)。生成された json 文字列の例を次に示します。

[["CUGHDAA ID Equity","Cullen Global High Dividend USD","0.5","<a href="\&quot;&quot;#&quot;\&quot;">x</a>"],["XESX GY Equity","DB X Euro Stoxx 50","0.5","<a href="\&quot;&quot;#&quot;\&quot;">x</a>"],["ABEFROA LX Equity","Aberdeen Global Emerging Markets","0.25","<a href="\&quot;&quot;#&quot;\&quot;">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)

4

1 に答える 1