new hora formato fecha dar javascript jquery angularjs url param

javascript - hora - Convertir $.param en angularjs



new date() angularjs (6)

AngularJs tiene jquery lite en su núcleo para que pueda usar angular.element.param () en lugar de $ .param ()

Antes de usar JQuery y uso esto para enviar una URL con un parámetro

window.location = myUrl + $.param({"paramName" : "ok","anotherParam":"hello"});

pero con angularjS esto no funciona de la misma manera

$scope.myButton = function() { $window.location.open = myUrl + $.param({"paramName" : "ok","anotherParam":"hello"}); };//Error: $ is not defined

¿Alguien puede ayudarme a hacer esto en angularJs?


Encontré esta función útil para la serialización de url. También funcionará para objetos anidados.

var param = function(obj) { if ( ! angular.isObject( obj) ) { return( ( obj== null ) ? "" : obj.toString() ); } var query = '''', name, value, fullSubName, subName, subValue, innerObj, i; for(name in obj) { value = obj[name]; if(value instanceof Array) { for(i in value) { 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; };



Si está intentando crear una representación serializada de datos como lo hace $.param() ,

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 ); }

y usar esto para su serialización de datos


Simplemente puede usar $ .param en el objeto javascript y pasarlo a $ resource o $ http y debería funcionar bien. Una advertencia, sin embargo, es asegurar que sea un objeto y no una matriz.

var badParam = {''name'':''john'',...}; // contains more properties var goodParam = {name :''john'',...}; // contains more properties


puede inyectar y usar esta función en su lugar: $ httpParamSerializerJQLike ()