У меня есть приложение Angular и NodeJS с Express (v4.17.1). Я представляю REST API следующим образом:
app.get('/myRestApi', function (req, res)
{
console.log('here you are ... ');
res.end('success!\n');
});
, а body
этого API содержит следующие параметры:
{"name":"Joe",
"surname":"Soap",
"coordinate":"ASNDNFNS;SDFGSDFGSDF;ASFRTGERG;SERFQEAWE"}
Проблема в том, что когда я получаю поле coordinate
больше определенной суммы (так что их много ASFRTGERG;SERFQEAWE
). Я получаю сообщение об ошибке в браузере (независимо от браузера):
The server responded with a status of 400 (Bad Request).
Поскольку я не получаю журнал console.log('here you are ... ');
, я полагаю NodeJS отбрасывает его, возвращая 400. Я почти уверен, что NodeJS возвращает это, так как в браузере я получаю:
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Content-Length: 0
Connection: keep-alive
X-Powered-By: Express
Strict-Transport-Security: max-age=31536000
**** UPDATE ****
I ' Мы установили уровень DEBUG на NodeJS, и запрос никогда не попадет на серверную часть, так что проблема, как я полагаю, находится на стороне Angular. В какой-то момент на стороне Angular я делаю следующее:
window.location.href = this.url; //this.url = /myRestApi
, который переходит на URL-адрес /myRestApi
. Я считаю, что здесь возникла проблема с механизмом window.location.href
, так как одно поле в теле этого запроса (см. Выше) слишком велико, и он вылетает? ... или что-то, что вызывает 400.
Предложения?