У меня возникла проблема с тем, что XMLHttpRequest отключает тело кодированного json сообщения при использовании Emoji в теле.Корпус XMLHttpRequest отключен при использовании unicode
var emoji = '"\u2764\uFE0F"';
var data = {
id: messageid, time: new Date(),
layout: { 'type': "message", title: emoji, body: emoji, largeIcon: "http://site/icons/icon.png", foregroundColor: "#445566", backgroundColor: "#222222" },
createNotification: {
layout: { 'type': "genericNotification", title: emoji, subtitle: emoji, largeIcon: "http://site/icons/icon.png" }
}
};
jsonenc = JSON.stringify(data);
console.log(jsonenc) //displays data fine.
var request = new XMLHttpRequest();
request.open('PUT', dict.url, true);
request.setRequestHeader('Content-Type', 'application/json;charset=UTF-16');
request.setRequestHeader('X-User-Token', dict.token);
request.setRequestHeader("Content-length", data.length);
request.send(dict.data);
Если я console.log данные JSON, данные по всей длине, но если я смотрю на просьбу под mitmproxy, он отрезан как таковой:
{"id":"messageid-123456","time":"2015-05-29T03:43:17.566Z","layout":{"type":"message","title":"\"......\"","body":"\"......\"","largeIcon":"http://site/icons/icon.png","foregroundColor":"#445566","backgroundColor":"#222222"},"createNotification":{"layout":{"type":"genericNotification""title":"\"......\"","subtitle":"\"......\"","largeIcon":"http://site/icons/ic
> Это может показаться проблемой с пользовательским интерфейсом пользователя mitmproxy. Если я посмотрю данные с флягой, он обрезается в том же месте. '{" id ":" messageid-123456 "," time ":" 2015-05-29T13: 34: 19.357Z "," layout ": {" type ":" message "," title ":" \ "❤️ \" " "тело": "\" ❤️ \ "", "largeIcon": "HTTP: //site/icons/icon.png", "ForegroundColor": "# 445566"," BackgroundColor ":" # 222222 "}," createNotification ": {" раскладка ": {" типа ":" genericNotification " "название": "\" ❤️ \ "", "подзаголовок": "\" ❤️ \" »,« largeIcon »:« http: // site/icons/ic' – exiva
Является ли код точным? Что такое 'dict.data'? Я предполагал, что это была ошибка, и вы хотели отправить' jsonenc'. – bobince