JavaScript - Presentación y consulta

 
Vista:
sin imagen de perfil

Presentación y consulta

Publicado por Torcido (1 intervención) el 25/04/2018 14:12:50
Hola.
Primero presentarme y saludos a todos.
Estoy empezando un proyecto para conectar a un servidor socket y no consigo que funcione. Os pongo el código y me explico.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<script type="text/javascript">
var direccion = 'http://xxx.xxx.xxx.xxx/api/miurl';
new Vue({
    el: '#main',
    data: {
        datos: [],
        Usuario_Cod: '',
        Usuario_Nom: '',
Usuario_Token: ''
    },
    methods: {
        getUsuarios: function (usuario, clave) {
 
            var headers = {
                'Content-Type': 'application/json',
                'Authorization':'123123123123ASDFASDF',
                'Access-Control-Allow-Origin':'*'
            };
            var jn = {
                Cmd: "Login",
                User: usuario,
                Pass: clave
            };
 
            axios({
                method: 'post',
                url: direccion,
                data: JSON.stringify(jn),
                config: 'Content-Type:"application/json"' //{ headers }
            })
            .then((response) => {
                alert('Mensaje OK');
 
                /* Codigo comentado temporalmente
                this.datos = response.data;
                this.Usuario_Cod = this.datos.Usuario.Codigo;
                this.Usuario_Nom = this.datos.Usuario.Nombre;
                this.Usuario_Token = this.datos.Usuario.Token;
                */
            })
            .catch(alert('Mensaje Error'));
        }
    }
});
</script>

Le envio estos datos a un servidor socket y el servidor lo recibe y devuelve un json correcto y con la respuesta 200 OK, pero se dispara el catch con el mensaje "Mensaje Error". Acepto el error e in mediatamente se dispara el then con el mensaje "Mensaje OK".
Si elimino el catch, no se dispara el mensaje "Menssaje OK".
En el primer caso, mientras está en pantalla el mensaje de error, en la consola del navegador veo que si que se ha recibido correctamente el mensaje 200 junto al json. Cuando pulso el boton del error, sale en mansaje de OK y al pulsar este se borra de la consola el evento POST y parece que se recarga la página.

La cabecera de respuesta en el navegador es esta:

Access-Control-Allow-Credentials true
Access-Control-Allow-Headers authorization, origin, x-requested-with, content-type
Access-Control-Allow-Methods PUT, GET, POST, DELETE, OPTIONS
Access-Control-Allow-Origin *
Connection Keep-Alive
Content-Length 911
Content-Type application/json; charset=UTF-8
Date Wed, 25 Apr 2018 12:09:09 GMT
Keep-Alive timeout=5, max=100
Server Apache/2.4.29 (Win32) OpenSSL/1.0.2l PHP/7.1.11


Me he quedado atascado aqui.
Gracias a todos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder