[Resuelto] Enviar texto a una url con javascript

Iniciado por Kaxperday, 19 Octubre 2015, 22:04 PM

0 Miembros y 1 Visitante están viendo este tema.

Kaxperday

En plan quiero hacer una función en js que cuando se ejecute mande una cadena de texto como "hola mundo" a un servidor remoto, en este caso a localhost.

¿Se puede hacer? ¿alguna idea?

Buscare mientras.

Gracias y un saludo.

Edito: XD quizás :

Código (javascript) [Seleccionar]
function send(var cadena)
{
url = encodeURI("http://"+ "127.0.0.1" + "/cadena);
$("#selector").load(url);
}


El problema de esto es que quiero que lo mande en plan sockets, porque el servidor se corre en localhost, y es un server en cpp que estoy haciendo y no podrá tomar esta orden... mm ¿como podría mandarle datos?.

El servidor escucha todo lo que se le mande, pero con este método no mandamos cosas al server solo nos conectamos a el y solicitamos un archivo de este..mm
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

MinusFour

Me imagino que te refieres en el navegador, para eso tienes que usar XHR o librerias que trabajen con XHR (como jQuery.ajax).

Pablo Videla


Esto seria mas o menos lo que necesitas...

puedes consultar la referencia de jquery para mas detalles.

No he probado el codigo pero es mas o menos asi , es solo un ejemplo.
Código (javascript) [Seleccionar]

$.ajax({
// o get
type:"POST",
url:"tuurl",
data:parametros,

success:function(html){
//tumetodo en caso de que sea correcto
console.log("El resultado ... " + html);
},
// no recuerdo el nombre de los parametros xD
error:function(parametro1,parametro2,parametro){
//encaso de que sea erroneo
}
});



Kaxperday

#3
Buenas, gracias por las respuestas a ambos lo primero.

Lo estoy probando y no me llegan datos al servidor desconozco los motivos.

Tengo el servidor en C++ funcionando en la red local, he probado a conectarme con el movil y al poner la ip del ordenador en el navegador del movil el servidor del ordenador detecto la peticion HTTP del movil, luego el servidor funciona.

Pero sin embargo cuando corro el script de js para mandar datos a el servidor desde el navegador del ordenador, no llega ninguna petición HTTP, estudiaré el caso, mientras os dejo lo que tengo:

Código (javascript) [Seleccionar]

function sendReq(var cadena)
{
var req = new XMLHttpRequest();
req.
url = encodeURI("http://"+ "127.0.0.1" + "cadena);
$("#selector").load(url);
}

function sendAjax(var cadena)
{
$.ajax({
type:"GET",
url:"http://127.0.0.1/",
data:cadena,

success:function(html){
//tumetodo en caso de que sea correcto
console.log("El resultado ... " + html);
},
// no recuerdo el nombre de los parametros xD
error:function(parametro1,parametro2,parametro){
//encaso de que sea erroneo
}
});
}


Seguiré probando y estudiando estos lenguajes un poco, porque nunca los he estudiado más haya que para pruebas superficiales como esta XD.

Saludos.

Edito: Bueno me estoy poniendo un poco negro con el js, pues declaro una funcion en el head y en el body la ejecuto y pongo un alert al principio y no sale nada (no se ejecuta) luego la pego en el body la ejecuto y si funciona a veces no ojj, ahí va la cosa, no se si funciona porque no puedo ejecutar la funcion :"""D

Para que funcione tengo que ejecutar la funcion al final del body y ponerla entera no llamarla al head, sino ponerla entero en el body y llamarla tras declararla en el body en el mismo script XD
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

eLank0

Cambia el method por POST y enséñanos els formato de data.

S2

Kaxperday

#5
¿Alguien me puede explicar porque esto no vaen chrome?:

Código (javascript) [Seleccionar]
<html>

<head>

<script type="text/javascript">

function hola()
{
alert("go");
}

</script>
</head>

<body>

<h1>hola!</h1>
<form>
   <input type="text" name="usuario" value="" />
   <button type="submit">Go</button>
</form>

<script type="text/javascript">
hola();
</script>

</body>
</html>


O no espera que si que va, va lo que le da la gana XD

Vale si lo anterior funciona, ¿porque esto no lo hace?

Código (javascript) [Seleccionar]
<html>

<head>

<script type="text/javascript">

function sendText(var cadena)
{
alert(cadena);
var req = new XMLHttpRequest();
url = encodeURI("http://"+ "127.0.0.1" + "/cadena);
$("#selector").load(url);
}

</script>
</head>

<body>

<h1>hola!</h1>
<form>
   <input type="text" name="usuario" value="" />
   <button type="submit">Go</button>
</form>

<script type="text/javascript">
sendText("hola mundo");
</script>

</body>
</html>


¿Porque no se ejecuta ni el alert()? :""""DD
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

#!drvy

@Kaxperday, se te olvida cerrar las comillas, tanto en el codigo anterior como en el que acabas de poner.


Código (javascript,5) [Seleccionar]
function sendText(var cadena)
{
alert(cadena);
var req = new XMLHttpRequest();
url = encodeURI("http://"+ "127.0.0.1" + "/cadena);
$("#selector").load(url);
}


Ahí no cierras el string cadena.

Código (javascript,5) [Seleccionar]
function sendReq(var cadena)
{
var req = new XMLHttpRequest();
req.
url = encodeURI("http://"+ "127.0.0.1" + "cadena);
$("#selector").load(url);
}

function sendAjax(var cadena)


Ahí tampoco.

Te sugiero que abras la consola javascript de tu navegador cuando estés depurando. Asi puedes ver los errores que aloja y en que linea.

Saludos

Kaxperday

#7
Tienes razón drvy, lo acabo de cambiar y tampoco funciona :"""

Código (javascript) [Seleccionar]
<html>

<head>

<script type="text/javascript">

function sendText(var cadena)
{
alert(cadena);
var req = new XMLHttpRequest();
url = encodeURI("http://"+ "127.0.0.1" + "/cadena");
$("#selector").load(url);
}

</script>
</head>

<body>

<h1>hola!</h1>
<form>
   <input type="text" name="usuario" value="" />
   <button type="submit">Go</button>
</form>

<script type="text/javascript">
sendText("hola mundo");
</script>

</body>
</html>


No hay rastro de alert();

No será porque tengo que poner onload en el body de la función que quiero ejecutar?, porque ya no se que hacer, y no se mucho del tema de programación web, sorry XD
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

#!drvy

Cargas jQuery en algún lado ? Lo digo porque utilizas:

Código (javascript) [Seleccionar]
$("#selector").load(url);

Pero en ese código que dejas no te veo cargarlo en ningún lado.

PD: Los scripts siempre dejalos al final de <body> antes de </body>. Asi te aseguras que cargue toda la pagina y el DOM antes de cargar el javascript.

Saludos

Kaxperday

#9

CitarPD: Los scripts siempre dejalos al final de <body> antes de </body>. Asi te aseguras que cargue toda la pagina y el DOM antes de cargar el javascript.

¿Te refieres solo a la llamada a la función declarada en el head no?

Si, es la primera ve que trabajaba con jquery y no lo sabía pero el problema va más allá de eso, por ejemplo, ¿porque no me va esto?.

Código (javascript) [Seleccionar]
<html>
<head>

<script type="text/javascript">

function hola(var hola)
{
alert(hola);
}
</script>
</head>
<body>

<h1>Hola!</h1>


<form>
   <input type="text" name="usuario" value="" />
   <button type="submit">Go</button>
</form>

<script type="text/javascript">
hola("holamudnooo");
</script>

</body>
</html>



No sale nada.
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.