La solicitud se envía desde onclick de href=url . Cuando se alcanza esta URL, devuelvo datos del servidor al cliente como una cadena de consulta.
res.redirect("/#blog_post_details/?dataUrl="+response[0].attributes);Y cuando imprimo usando:
var posts = DataMixin.getParameterByName(dataUrl); console.log('posts', posts); //I get [Object, Object] También probé con JSON.Stringify : console.log console.log('posts', JSON.Stringify(posts)); que imprime lo mismo con comillas "[Object,Object]"
Función para devolver cadena de consulta:
getParameterByName: function (name, url) { if (!url) { url = window.location.href; } name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); }Sin embargo, puedo imprimir datos de respuesta en el servidor:
{ created_at: '4/3/2017, 1:23:28 AM', details: 'jjj', id: 136, post_id: '1491162808010', title: 'Basic Syntax and Tag declaration', url: 'basic_syntax_and_tag_declaration', userImage: 'assets/img/spiritual-icon4.png', username: 'k999@gmail.com' }Nota: estoy usando expressjs con nodejs
[Object, Object] es el valor que está enviando . Analizarlo no servirá de nada, no hay nada útil para analizar.
Necesita arreglar cómo está enviando los datos.
Codificarlo como JSON es un enfoque:
var values = response[0].attributes; var json_values = JSON.stringify(values); var url_safe_json_values = encodeURIComponent(json_values); res.redirect("/#blog_post_details/?dataUrl=" + url_safe_json_values luego analiza el JSON (con JSON.parse no JSON.stringify (¡que hace lo contrario al análisis!)) en el otro extremo.