0

以下の構造を持ついくつかの pois オブジェクトを含む JAVASCRIPT 配列 allPois があります。

    var poi = {
        title:  pois[x].title,
        lat:    pois[x].position.lat(),
        lng:    pois[x].position.lng(),
        html:   pois[x].html
    };

これは、私のサーバーを呼び出す JAVASCRIPT 関数です。

function save(){

    var jsonizedData = JSON.stringify({theArray:allPois});

    jQuery.ajax({
        type:       'POST',
        url:        'http://localhost:8000/save',
        contentType:'application/json; charset=utf-8',
        dataType:   'json',
        data:       mydata,
        async:      true
    });
}

これは、リクエストを処理するサーバー側の機能です。

def save(request):
   for object in request.POST:
      my_data = simplejson.loads(object)

   return none   

パラメータ「html」(実際にはhtmlコードを含む)をエンコード/デコードして、サーバーに適切にロードできるようにする最良の方法は何ですか?

4

1 に答える 1

0

プロパティの値は であるため、.htmlstringもする必要はありません。JSON は文字列値を問題なく処理できます。あなたによる変更は、事態を悪化させるだけです。

問題はおそらく、テキスト領域から値を取得する方法です。この jsfiddle how special characters are handling を参照してください

しかし、最新のブラウザーでは、どの段階でもエンコード/デコードは必要ありません。

ああ、 XSS やその他の攻撃を避けるために、HTML をクリーンアップしてください。

于 2012-05-07T15:56:29.247 に答える