zoukankan      html  css  js  c++  java
  • $http.post发的数据,后台取不到两种解决方案

    方案一:

    var url = 'Gulugulus/setMenu',
                data = {
                    menu: JSON.stringify(menu),
                    test: 'a String'
                },
                transFn = function(data) {
                    return $.param(data);//$.param() 方法创建数组或对象的序列化表示,需引入jquery,或者套用方案二中的部分转换方法进行转换.
          }, 
            postCfg = {
                 headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}, 
            transformRequest: transFn };
    
     $http.post(url, data, postCfg) .success(function(){ window.location.href = "Gulugulus/subMenu"; });
              
    

      



    方案二:

     
    routeApp.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';
    	 
    	  // Override $http service's default transformRequest
    	  $httpProvider.defaults.transformRequest = [function(data) {
    	    /**
    	     * The workhorse; converts an object to x-www-form-urlencoded serialization.
    	     * @param {Object} obj
    	     * @return {String}
    	     */
    	    var param = function(obj) {
    	      var query = '';
    	      var name, value, fullSubName, subName, subValue, innerObj, i;
    	 
    	      for (name in obj) {
    	        value = obj[name];
    	 
    	        if (value instanceof Array) {
    	          for (i = 0; i < value.length; ++i) {
    	            subValue = value[i];
    	            fullSubName = name + '[' + i + ']';
    	            innerObj = {};
    	            innerObj[fullSubName] = subValue;
    	            query += param(innerObj) + '&';
    	          }
    	        } else if (value instanceof Object) {
    	          for (subName in value) {
    	            subValue = value[subName];
    	            fullSubName = name + '[' + subName + ']';
    	            innerObj = {};
    	            innerObj[fullSubName] = subValue;
    	            query += param(innerObj) + '&';
    	          }
    	        } else if (value !== undefined && value !== null) {
    	          query += encodeURIComponent(name) + '='
    	              + encodeURIComponent(value) + '&';
    	        }
    	      }
    	 
    	      return query.length ? query.substr(0, query.length - 1) : query;
    	    };
    	 
    	    return angular.isObject(data) && String(data) !== '[object File]'
    	        ? param(data)
    	        : data;
    	  }];
    	});

      

    我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他 们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其 实我是一个程序员
  • 相关阅读:
    iOS开发——keychain的使用
    iOS开发——策略模式
    iOS开发——MVC模式
    iOS开发——代理模式
    ExtjsCode_Test02Panel.js
    网站收藏
    关于ExtJs Form表单的赋值、获取、重置
    ExtJS分页start,limit,pageSize的研究
    使Grid可编辑
    如何禁用Grid中的ToolBar中的Button
  • 原文地址:https://www.cnblogs.com/kms1989/p/5821762.html
Copyright © 2011-2022 走看看