JQuery для преобразования строк в JSON для отправки на мой веб-сервис? - PullRequest
1 голос
/ 01 июня 2009

Попытка выяснить, как преобразовать 5 переменных, которые у меня есть в JavaScript (строки), в JSON для отправки в мою функцию ajax

вот моя ajax-функция, но это относительно новое, но я считаю, что это должно работать ... но мне нужно преобразовать все мои строки в JSON - не так ли?

Я считаю, что есть альтернативные способы отправки данных без JSON, но это рекомендуемый способ, не так ли?

                $.ajax({
                type: "POST",
                url: "MyService.aspx/SendEmail",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
                    alert(msg.d);
                },
                error: function() {
                    alert('error');
                }

            });

Я считаю, что в конце службы мне нужно извлечь JSON - я использую asp.net

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 01 июня 2009

Вам не нужно конвертировать в json для передачи данных. Просто укажите данные, которые нужно передать:

$.ajax({
       url: "myUrl",
        data: {
            var1: "some data or var",
            dataItem2: false // or a variable
        },

        success: function(msg) {
            alert(msg.d);
        },
        error: function() {
            alert('error');
        }
    });

Данные будут доступны в качестве параметров запроса, например (в Asp.Net):

Request.Params["var1"]

Теперь, если вам действительно нужно получить json на сервере, это другая проблема. Если это требование, мне было бы интересно понять, почему.

1 голос
/ 03 июня 2009

Я предлагаю вам включить в проект JSON2.js, который вы можете найти по этой ссылке , и использовать функцию JSON.stringify ():

...
data: JSON.stringify({ yourVar: "value", var2: "value2" }),
...

если ваш веб-сервис возвращает данные json, вы можете проанализировать результат с помощью библиотеки:

success: function(json) { json = JSON.parse(json);
                          var o = json.d;
                          ... 
}

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

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