或任何其他功能来预处理您的数据:)
由于我的服务器端框架,我总是需要在发送数据之前调用JSON.stringify-不必要的样板,您可以忘记添加。
现在我有:
$.ajax({ [...] data: JSON.stringify({ someData: self.someData }), [...] });
我更喜欢:
$.ajax({ [...] data: { someData: self.someData }, [...] });
我研究过ajaxSetup,但到目前为止,找不到解决方案…
不,没有内置的方法可以将数据从对象预处理为JSON。但是,您可以使用ajaxSetup和beforeSend为您做。
ajaxSetup
beforeSend
$.ajaxSetup({ beforeSend: function(jqXHR,options){ if ( options.contentType == "application/json" && typeof options.data != "string" ) { options.data = JSON.stringify(options.data); } } });
现在,只需确保将您的设置contentType为application/json需要发送json到服务器的请求,以使它被if语句捕获。
contentType
application/json