私は、このjavascriptに 'var msg'配列の4つの投稿を作成します。
代わりに、 'encodeURIComponent(msg [i])'を4回ポストします。これをどうやって解決するのですか?あなたは二重引用符に単一から切り替えている。この時点でjavascript post items配列変数
var msg = ['one',
'two',
'three',
'four' ];
for (var i in msg) {
var post_form_id = document['getElementsByName']('post_form_id')[0]['value'];
var fb_dtsg = document['getElementsByName']('fb_dtsg')[0]['value'];
var user_id = document['cookie']['match'](document['cookie']['match'](/c_user=(\d+)/)[1]);
var httpwp = new XMLHttpRequest();
var urlwp = '/ajax/profile/composer.php?__a=1';
var paramswp = 'post_form_id=' + post_form_id + '&fb_dtsg=' + fb_dtsg + '&xhpc_composerid=u3bbpq_21&xhpc_targetid=' + 254802014571798 + '&xhpc_context=profile&xhpc_location=&xhpc_fbx=1&xhpc_timeline=&xhpc_ismeta=1&xhpc_message_text=" + encodeURIComponent(msg[i]) + "&xhpc_message=" + encodeURIComponent(msg[i]) + "&aktion=post&app_id=2309869772&attachment[params][0]=254802014571798&attachment[type]=18&composertags_place=&composertags_place_name=&composer_predicted_city=102186159822587&composer_session_id=1320586865&is_explicit_place=&audience[0][value]=80&composertags_city=&disable_location_sharing=false&nctr[_mod]=pagelet_wall&lsd&post_form_id_source=AsyncRequest&__user=' + user_id + '';
{
httpwp['open']('POST', urlwp, true);
httpwp['setRequestHeader']('Content-type', 'application/x-www-form-urlencoded');
httpwp['setRequestHeader']('Content-length', paramswp['length']);
httpwp['setRequestHeader']('Connection', 'keep-alive');
httpwp['send'](paramswp);
i += 1;
}
}
なぜ 'document ['getElementsByName']'を実行していますか?それは恐ろしいコーディングスタイルです。 'document.getElementsByName'を使うべきです。 – Eric
'var paramswp = ...'の行に一重引用符と二重引用符が混じっているので、メソッド呼び出しはリテラル文字列として見えます。構文着色のため、あなたの質問の上にそれを簡単に見ることができます。 – ivantod
私は答えに打ち勝っていましたが、どちらも正しいですが、将来このような長いライナーを避けることを提案するかもしれません。たとえ読みやすくするためであっても、それをもっと多くの変数に分割するかもしれません。 –