2013-12-16 43 views
0

我有一個通用的ajax.post方法,它接受來自函數參數的數據。現在我想修剪數據的屬性。以下是代碼。如何修剪JSON對象刪除空格

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'是什麼,所以我不能訪問它的屬性並使用修剪功能。 請幫忙。

+1

要迭代,並在'parameters.data'對象修剪每個屬性? –

+0

我認爲最簡單的解決方案是遍歷每個屬性然後修剪並將其添加到FormData對象:[MDN Formdata](https://developer.mozilla.org/en-US/docs/Web/Guide/Using_FormData_Objects?redirectlocale = en-US&redirectslug = Web%2FAPI%2FFormData%2FUsing_FormData_Objects) –

+0

您能否提供代碼? – user2878759

回答

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

使用您的代碼和以上建議我想出了這個代碼,它適用於我。 '函數TrimData(數據){$ 。每個(數據,功能(鍵,VAL){ 如果(typeof運算(VAL)== 「對象」){ TrimData(VAL); } 否則{ 數據[key] = $ .trim(val) } }); 返回數據; }' – user2878759