Передать массив JSON из c # в jQuery - PullRequest
3 голосов
/ 27 апреля 2011

Я делаю автозаполнение jQuery. Работает нормально, если я поставлю жесткий кодированный массив JSON. Но это не удается, когда я передаю массив из C #. Пожалуйста, помогите, я провожу достаточно времени, и я застрял!

Вот мой код jQuery в AutoComplete.aspx

<script type="text/javascript">
    $(document).ready(function () {
        var msgbox = $("#status");
        $.ajax({
            type: "POST",

            //Page Name (in which the method should be called) and method name
            url: "AutoControl.aspx/GetData",

            //else If you don't want to pass any value to server side function leave the data to blank line below
            data: "{}",

            contentType: "application/json; charset=utf-8",
            dataType: "json",

            success: function (msg) {
                $("#status").val(msg.d);
            }
        });

        $('#<%=tags.ClientID%>').autocomplete(["c++", "java", "php", "coldfusion"], {
            width: 320,
            max: 4,
            highlight: false,
            multiple: true,
            multipleSeparator: " ",
            scroll: true,
            scrollHeight: 300
        });
    });        

</script>

Вот мой код C # в AutoComplete.aspx.cs

[System.Web.Services.WebMethod]
    public static string GetData()
    {
        return "\"c++\", \"java\", \"php\"";
    }

Как передать массив JSON из C # в jQuery. С помощью этого кода я мог получить значения из c #, но по какой-то причине JSON не читает значения.

Я хочу изменить этот код: $ ('# <% = tags.ClientID%>'). autocomplete (["c ++", "java", "php", "coldfusion"]

до

$ ('# <% = tags.ClientID%>'). Автозаполнение ([ jsonArray_from_C # ]

1 Ответ

5 голосов
/ 27 апреля 2011

Вы пытались вернуть массив строк?

http://encosia.com/2011/04/13/asp-net-web-services-mistake-manual-json-serialization/

не пытайтесь анализировать Json, передавайте объект напрямую.

...