post的数据中文有乱码,这个是怎么设置的?
js
app.factory('HttpInterceptor', function() { // --- // PRVIATE METHODS. // --- // I serialize the given Object into a key-value pair string. This // method expects an object and will default to the toString() method. // -- // NOTE: This is an atered version of the jQuery.param() method which // will serialize a data collection for Form posting. // -- // https://github.com/jquery/jquery/blob/master/src/serialize.js#L45 function serializeData(data) { // If this is not an object, defer to native stringification. if (!angular.isObject(data)) { return ((data == null) ? "" : data.toString()); } var buffer = []; // Serialize each key in the object. for (var name in data) { if (!data.hasOwnProperty(name)) { continue; } var value = data[name]; buffer.push( encodeURIComponent(name) + "=" + encodeURIComponent((value == null) ? "" : value) ); } // Serialize the buffer and clean it up for transportation. var source = buffer .join("&") .replace(/%20/g, "+"); return (source); } return { request: function(config) { if (config.method === 'POST') { if (config.data) { config.headers = config.headers || {}; config.headers["Content-Type"] = "application/x-www-form-urlencoded; charset=utf-8"; config.data = serializeData(config.data); } } return config; } }; })
我记得post需要进行转换后台才能取到。。。 代码是网上很早就有的。。 你试试看?
中文乱码可以试试编码,
`app.config(function($httpProvider) {
$httpProvider.defaults.headers.put['Content-Type'] = 'application/x-www-form-urlencoded';
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';