Передача массива из метода jquery ajax в код C # - PullRequest
0 голосов
/ 12 октября 2011

Мне нужно передать переменную JavaScript Array в файл с выделенным кодом и получить доступ к этому массиву.

Пожалуйста, дайте мне знать, если это именно тот объект данных, которого ожидает метод Ajax.При использовании этого кода код всегда переходит к функции failureCallback.Может кто-нибудь помочь мне с этим?

jQuery / JavaScript:

Данные в массиве result: section_1,section_2,section_3.

Выходные данные paramList: {"data":"section_1,section_2,section_3"}.

function generateData() {
    var result = $('#accordion').sortable('toArray');
    alert(result);

    ExecutePageMethod("ReorderList.aspx", "HandleData", ["data", result], successCallback, failureCallback);
}

function ExecutePageMethod(page, fn, paramArray, successFn, errorFn) {
    alert("entered page method");
    var paramList = '';

    if (paramArray.length > 0) {

        for (var i = 0; i < paramArray.length; i += 2) {
            if (paramList.length > 0) paramList += ',';
            paramList += '"' + paramArray[i] + '":"' + paramArray[i + 1] + '"';
        }
    }

    paramList = '{' + paramList + '}';

    alert(paramList);

    $.ajax({
        type: "POST",
        url: page + "/" + fn,
        contentType: "application/json; charset=utf-8",
        data: paramList,
        dataType: "json",
        success: successFn,
        error: errorFn
    });
}

function successCallback(result) {    
    var parsedResult = jQuery.parseJSON(result.d);
}

function failureCallback(result) {
    alert("entered failure");
}

C # Код сзади:

public static string HandleData(object[] data)
{
   //How should I parse this object data?
   return data;
}

1 Ответ

1 голос
/ 12 октября 2011

Существует два способа получить доступ к коду от клиента.

  1. Сохраните его в коллекции, отправленной с запросом (обычно это происходит посредством отправки формы).
  2. Настройте вызов AJAX для службы на стороне сервера через JavaScript.

Существуют различные варианты вышеперечисленного, но, по сути, вы используете сервис или отправляете ответ.

Глядя на свой код, вы хотите направление AJAX.Я бы начал с этого поста переполнения стека , поскольку он охватывает основы передачи массива обратно в «конечную точку службы» кода, стоящего за файлом.

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