我有一个应用程序,它通过JSON
通过ajax
发送消息。这是JS对象:
var message = {
"message_by": colmn[0].innerHTML,
"message_date": new Date(),
"message_recipients": [
{
"phone_number": colmn[1].innerHTML,
"recipient_name": colmn[2].innerHTML
}
],
"message_text": colmn[3].innerHTML,
"subscriber_name": "John Doe"
};
然后这样发布:
var url = "http://url/api/sendMessage";
$.ajax({
type: "POST",
url: url,
data: JSON.stringify(message),
contentType: "application/json; charset=utf-8",
dataType: "json",
processData: true,
success: function (data, status, jqXHR) {
console.log(data);
console.log(status);
console.log(jqXHR);
//alert("success..." + data);
alert("Success. Message sent.");
},
error: function (xhr) {
//alert(xhr.responseText);
alert("Error. Try again.");
}
});
stringified
消息可能看起来像这样:
var message = {
"message_by": "Brian",
"message_date": new Date(),
"message_recipients": [{
"phone_number": "0700111222",
"recipient_name": "Timothy"
}, {
"phone_number": "0800222111",
"recipient_name": "Winnie"
}],
"message_text": "Hello! You are invited for a cocktail at our auditorium. ",
"subscriber_name": "John Doe"
}
现在是问题所在。消息可以很好地发布到api,但是最近发现某些消息失败,发现失败的消息有100个或更多的消息接收者。它可以正常工作到99。我问一位同事,他说在api上没有任何限制限制。
有没有一种方法可以将对象大小限制为99,并将其余部分推到新对象,但仍将其作为同一ajax发布的一部分?有其他解决方法吗?
答案 0 :(得分:1)
没有这样的限制。
如果要将邮件收件人限制为99个,可以执行以下操作
validateMessege(message){
var length = message.length;
var messegeRep = message.message_recipients.slice()
for(var i = 0; i < length; i+=99){
message.message_recipients = messageRep.slice(i, i+99)
// Your post request here
}
}