В Аякс пост, мне нужно, чтобы функция urlencode параметров перед отправкой?
У меня есть длинный текст JSON, который я отправляю обратно на сервер через Ajax:
http.open("POST", url, true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", myVeryLongAJAXText.length);
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function() {...}
http.send(myVeryLongAJAXText);
Нужно ли изменить последнюю строку на:
http.send(encodeURI(myVeryLongAJAXText));
Или об этом позаботится метод send?
2 ответа:
Вам нужно кодировать их на клиенте и декодировать на сервере. Он будет работать без декодирования, но менее подвержен ошибкам и безопаснее кодировать/декодировать.
Send не предлагает этого, поскольку передаваемые данные могут быть только одним целым числом, поэтому вызов UrlEncoding приведет к ненужным накладным расходам.