【发布时间】:2018-12-01 22:36:19
【问题描述】:
我有一个应用程序通过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 帖子的一部分?有没有其他创造性的方法来解决这个问题?
【问题讨论】:
-
创建一个名为 iter 的变量,执行 for(var prop in message) 并设置一个最大增量,一旦超过就发送消息,创建新对象,并重置 iter 变量跨度>
标签: javascript json ajax javascript-objects