Как обрезать JSON Object, удаляя пробелы

0

У меня есть общий метод ajax.post, который принимает данные из параметра функции. Теперь я хочу обрезать свойства данных. Ниже приведен код.

function PostToServer(options) {
    var defaults = {
        'url': null,
        'data': null,
        'onSuccess': null,
        'onError': null
    };
    var parameters = $.extend(defaults, options);
    $.ajax({
        url: parameters.url,
        type: "POST",
        data: JSON.stringify(parameters.data),
        contentType: "application/json",
        success: function (res) {
            if ($.isFunction(parameters.onSuccess)) {
                parameters.onSuccess(res);
            }
        },
        error: function (xhr, status, error) {
            if ($.isFunction(parameters.onError)) {
                parameters.onError(xhr, status, error);
            }
        }
    });
}

Теперь в этой функции я хочу обрезать объект parameters.data, чтобы удалить пробелы с обоих концов. но я не знаю, что входит в 'parameters.data', поэтому я не могу получить доступ к его свойствам и использовать функцию trim. Пожалуйста помоги.

  • 1
    Вы хотите перебрать и обрезать каждое свойство в объекте parameters.data ?
  • 0
    Я думаю, что самое простое решение - перебрать каждое свойство, затем обрезать и добавить его в объект FormData: MDN Formdata
Показать ещё 3 комментария
Теги:

1 ответ

1

Попробуй это:

$.each(res, function(index) {
    var that = this;
    $.each(that, function(key, value) {
        var newKey = $.trim(key);

        if (typeof value === 'string')
        {
            that[newKey] = $.trim(value);
        }

        if (newKey !== key) {
            delete that[key];
        }
    });
});
  • 0
    используя ваш код и приведенные выше предложения, я придумал этот код, и он работает для меня. function TrimData(data) { $.each(data, function (key, val) { if (typeof (val) == "object") { TrimData(val); } else { data[key] = $.trim(val) } }); return data; }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню