Почему следующее не работает? Я продолжаю получать следующую ошибку 500.

"{"Сообщение":"Недопустимый примитив JSON: вопрос.","StackTrace":" в System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()\r\n в "

// button submit
    $('#btnCreatePoll').click(function ()
    {
        var fields = $('#createPoll input').serializeArray();       

        $.ajax({
            type: "POST",
            url: "PollManagerCreatePoll.aspx/test",
            data: fields,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg)
            {
                // Do something interesting with msg.d here.
            }
        });
    });




  [WebMethod]
    public static void test (object data)
    {
        string test = "test";
    }
0
chobo 17 Мар 2011 в 22:52
Может быть, вы должны дать нам представление о том, что такое fields.
 – 
Tomalak
17 Мар 2011 в 22:59
Забудьте об использовании полей. Отправить что-нибудь
 – 
chobo
17 Мар 2011 в 23:15

1 ответ

"PollManagerCreatePoll.aspx/test" не имеет смысла, если вы не используете перезапись URL-адреса, чтобы сделать "PollManagerCreatePoll.aspx" каталогом. Вы имеете в виду "PollManagerCreatePoll.aspx?test" или "PollManagerCreatePoll.aspx"?

ИЗМЕНИТЬ: Вы хоть сначала искали в гугле? Быстрый поиск нашел это:

http://forum.jquery.com/topic/invalid-json-primitive-error-while-using-ajax

1
mattsven 18 Мар 2011 в 19:02
Это метод отправки запроса ajax через jquery.
 – 
chobo
17 Мар 2011 в 23:15
Похоже, вам нужно выяснить, что такое «вопрос» в «Недопустимом примитиве JSON: вопрос».
 – 
mattsven
17 Мар 2011 в 23:17
Ссылка даже не работает, а я довольно много искал в гугле
 – 
chobo
18 Мар 2011 в 18:58