Как читать данные, отправленные на классический ASP с помощью JQuery AJAX - PullRequest
5 голосов
/ 28 марта 2011

Я написал следующий код Javascript:

function sendCcbRequest(text) {
    var jsonToSend = "\"text\": \"" + escape(text) + "\"";
    $.ajax({
        type: "POST",
        url: 'x.asp',
        data: jsonToSend,
        success: function(response) {
            alert("success:" + response);
        },
        error: function() {
            alert("error");
        }
    }); // end ajax
}

Как мне прочитать данные, которые я публикую, из моего классического кода ASP?

Обновление Я попробовал следующее для моего классического файла ASP.XP.

<%
Dim x
x = Request.Form("text")
Response.Write(x)
%>

Он по-прежнему ничего не печатает.

Ответы [ 4 ]

4 голосов
/ 28 марта 2011

То, как данные публикуются с использованием этого метода (как указано в вопросе), на самом деле не создает объект формы на стороне сервера. Таким образом, опубликованные данные должны быть прочитаны с использованием Request.BinaryRead , а затем преобразованы в строку с использованием одного из методов, заданных здесь . Как вы уже отметили, если вы отправляете данные, используя форму строки запроса key1 = value1 & key2 = value2 или карту вида {key1: 'value1', key2: 'value2'}, отправленные данные являются действительной формой, и ASP будет преобразовать его в форму Request.Form, которую можно легко прочитать.

3 голосов
/ 28 марта 2011

Хорошо, я нашел что-то, что работает. Следующая строка кода:

var jsonToSend = "\"text\": \"" + escape(text) + "\"";

необходимо изменить на

var jsonToSend = { text: escape(text) };
0 голосов
/ 28 марта 2011

На странице x.asp просто используйте: Request.Form("text"), чтобы прочитать текст, опубликованный в вашем запросе Ajax.

0 голосов
/ 28 марта 2011

Я бы использовал парсер, описанный здесь: Какие-нибудь хорошие библиотеки для разбора JSON в Classic ASP? .Это работает для меня.

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