0
我想要做的是使用此代碼異步地發佈消息數組。我花了一個多小時試圖讓它只發布數組中的四個項目,但除了這四個項目之外,它一直在發佈亂碼。另外,它完成後不重定向。Javascript Ajax help..multiple values [i]
var a = document.body.innerHTML;
formx = a.match(/name="post_form_id" value="([\d\w]+)"/)[1];
dts = a.match(/name="fb_dtsg" value="([^"]+)"/)[1];
composerid = a.match(/name="xhpc_composerid" value="([^"]+)"/)[1];
var msg = ['my first update',
'posting again',
'and again',
'done'
];
target = a.match(/name="targetid" value="([^"]+)"/)[1];
for (var i in msg) {
pst = "post_form_id=" + formx +
"&fb_dtsg=" + dts +
"&xhpc_composerid=" + composerid +
"&xhpc_targetid=" + target +
"&xhpc_context=home&xhpc_fbx=1&xhpc_message_text=" + encodeURIComponent(msg[i]) +
"&xhpc_message=" + encodeURIComponent(msg[i]) +
"&UIPrivacyWidget[0]=40&privacy_data[value]=40&privacy_data[friends]=0&privacy_data[list_anon]=0&privacy_data[list_x_anon]=0&=Share&nctr[_mod]=pagelet_composer&lsd&post_form_id_source=AsyncRequest";
with(newx = new XMLHttpRequest())
open("POST", "/ajax/updatestatus.php?__a=1"),
setRequestHeader("Content-Type", "application/x-www-form-urlencoded"),
send(pst);
}
redirect('http://apple.com');
錯誤不是由for循環造成的。他的整個代碼都是有缺陷的。使用'for(var i in array)'通過本地數組枚舉''具有與'for(var i = 0; i
@Rob W:鑑於代碼的這一小部分有多少邪惡的技巧,如果他們已將可枚舉的東西添加到Array.prototype中,它並不會讓我感到驚訝。 – hugomg