Парсинг данных JSON с классического сервера asp? - PullRequest
0 голосов
/ 22 марта 2012

Посмотрев несколько вопросов / ответов, я не вижу, что мне нужно. У меня есть страница, отправляющая на страницу сервера asp через ajax. Возвращаемая строка json отображается в консоли Firefox. Я могу видеть данные поста, идущие на страницу asp, я вижу ответ, который

{"имя": "Кристофер", "фамилия": "Ромеро", "электронная почта": "cromero@marketscout.com", "adminlvl": "00", "message": "Спасибо за вход! " }

Я также вижу значения строки выше на вкладке JSON в Консоли -> ВСЕ -> JSON. В консоли нет сообщений об ошибках. Вот мой JavaScript:

$('#loginsub').click(function() { 
$.ajax({
        url: "logincheck.asp",
        type: "POST",
        data: $('#loginform').serialize(),
        dataType: "json",
        success: function(data) {
            console.log(data);
            //alert(data.firstname + ' ' + data.lastname);  
            //alert(data[0].firstname + ' ' + data[0].lastname);    
            $.trim(data);
            var json = $.parseJSON(data);
            alert(json.firstname);
        }
});

    });

Вот asp, который работает на сервере на logincheck.asp:

set cmd = Server.CreateObject("ADODB.Command")
with cmd
    .ActiveConnection = cnnopen
    .CommandText = storedproc
    .CommandType = adCmdStoredProc

    dim intCount,intItem
    for each item in odcformdata

        select case vartype(odcformdata(item)) 'this is searching for the correct data type to put into the parameter [type] argument below. (integers, currency, dates, & strings)
            case 2 : .Parameters.Append .CreateParameter("@"&cstr(item),adInteger,adParamInput,len(odcformdata(item)),odcformdata(item)) 
            case 6 : .Parameters.Append .CreateParameter("@"&cstr(item),adCurrency,adParamInput,len(odcformdata(item)),odcformdata(item))
            case 7 : .Parameters.Append .CreateParameter("@"&cstr(item),adDate,adParamInput,len(odcformdata(item)),odcformdata(item))
            case 8 : .Parameters.Append .CreateParameter("@"&cstr(item),adVarChar,adParamInput,len(odcformdata(item)),odcformdata(item))
        end select
    next

end with

set rs = cmd.execute
    'do stuff with returned results from select or leave blank if insert/delete/etc stored procedure

    if rs.EOF = false then
        'Build json array based on fields returned from stored proc.
        dim arrJSON
        arrJSON = "{ "
        while not rs.EOF
            for each fields in rs.Fields
                arrJSON = arrJSON & """" & fields.name & """: """ & fields & ""","
            next
            rs.movenext
        wend
        arrJSON = arrJSON & """message"": ""Thanks for logging in!"","
        arrJSON = left(arrJSON, len(arrJSON)-1) & " }"
        response.write arrJSON
    end if

set rs = nothing
set cmd = nothing

odcformdata.removeall

Предупреждения () в javascript не возвращают значения, которые я ожидал, я получаю [объект объекта], возвращая предупреждение, когда я ожидаю, что массив / строка JSON будут распечатаны.

Кто-нибудь с советами для меня? Я новичок JQuery и поправляюсь, но это действует мне на нервы!

1 Ответ

0 голосов
/ 22 марта 2012

Что показывает ваш первый console.log(data)?

Это работает для меня: http://jsfiddle.net/2tvCf/

...