Отправка многострочного текста через метод POST с помощью JQuery - PullRequest
0 голосов
/ 10 ноября 2011

У меня есть эта функция в JQuery:

var dataGet = 'LimFile=' + $('#LimFile').val() + '&ProductNumber=' + $('#ArtNoInsert').val();
            $.ajax({
                type: 'post',
                url: '/Admin/InsertLim',
                data: dataGet,
                success: function (r) {
                    alert('Product lim entry inserted!');
                },
                error: function (req, status, error) {
                    alert(error)
                }
            })

И предполагается, что он читает несколько строк из LimFile и отправляет их в строку в VB.NET. Проблема в том, что когда я отлаживаю его, я вижу строку в полную длину. И когда я разделяю его с помощью vbNewLine, он показывает, что есть только 1 строка, то есть ничего не разбито, как если бы строки были потеряны.

Ответы [ 2 ]

1 голос
/ 10 ноября 2011

Вы никогда не должны передавать строку как data, а скорее как объект, так как в этом случае jQuery позаботится о ее правильном кодировании:

var dataGet = {LimFile:  $('#LimFile').val(), ProductNumber: $('#ArtNoInsert').val()};

Это, вероятно, решает вашу проблему - при размещении простой строки, содержащей разрывы строк, они могут что-то сломать.


Кроме того, обратите внимание, что мягкое выравнивание строк (например, при достижении конца строки без нажатия клавиши ENTER ) не отправлено на сервер. Хотя вы могли бы использовать wrap="hard", как подсказал @RoryMcCrossan, лучшим решением будет перенос текста на сервер, так как вы все равно не можете доверять клиенту.

0 голосов
/ 10 ноября 2011

Почему бы просто не экранировать $ ('# LimFile'). Val () на отправляющей стороне и удалить его на принимающей стороне? Я нахожу это намного более "безопасным".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...