-1

SWFUpload_config引数を取る関数、post_params_arr-オブジェクトがあります。

post_params_arr = {"ajaxtask":"swfupload_files", "param": "2012"}

post_params_arrそれを解析し、次の方法でキーと値を動的に追加する必要がありswfu_settingsます(swfu_settingsにはデフォルトで'SWFSESSID':session_idと他のすべてのkeys:valuesをpost_params_arrから追加する必要があることに注意してください):

function SWFUpload_config (post_params_arr) {
    var swfu_settings = {
        'SWFSESSID' : session_id,
        'ajaxtask' : 'swfupload_files',
        'param' : '2012'
    };
}

どうすればそれを達成できますか?キーと値を割り当てている場所post_params_arrの内部をどのように解析しますか?swfu_settings

4

1 に答える 1

0

他のオブジェクトにアクセスするのと同じ方法...

var swfu_settings = {
    ajaxtask: post_params_arr.ajaxtask,
    param: post_params_arr.param
};

それともJSONですか?jQueryがある場合は、jQuery.parseJSON;を使用して解析します。それ以外の場合は、を使用JSON.parseしてフォールバックしeval('(' + post_params_arr + ')')ます。


何らかの理由でオブジェクトのシャロークローンを作成する必要がある場合は、for inループが機能します。

var swfu_settings = {
    SWFSESSID: 'blah'
    // etc.
};

for(var x in post_params_arr) {
    if(post_params_arr.hasOwnProperty(x)) {
        swfu_settings[x] = post_params_arr[x];
    }
}
于 2012-07-05T16:00:43.603 に答える