» »

AJAX neznana težava

AJAX neznana težava

luksorzi ::

Imam 3 datoteke:

index.php
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="login.js"></script>
</head>
<body>

	<form id="login_form">
	<input type="text" id="login_name"><br>
	<input type="password" id="login_pass"><br>
	<input type="submit" value="Prijava">
	</form>
	<div id="response"></div>

</body>
</html>

login.js
$(document).ready(function(){
	$("#login_form").submit(function(){
		var user = $("#login_name").val();
		var pass = $("#login_pass").val();

		var xmlhttp;
		if (window.XMLHttpRequest)
		  {// code for IE7+, Firefox, Chrome, Opera, Safari
		  xmlhttp=new XMLHttpRequest();
		  }
		else
		  {// code for IE6, IE5
		  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		  }
		xmlhttp.onreadystatechange=function()
		  {
		  if (xmlhttp.readyState==4 && xmlhttp.status==200)
		    {
		    document.getElementById("response").innerHTML=xmlhttp.responseText;
		    }
		  }
		xmlhttp.open("POST","login.php",true);
		xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		xmlhttp.send("user="user"&pass="pass");


	});
});

login.php
<?php
$user=$_POST['user'];
$pass=$_POST['pass'];
echo $user;
?>


Bi mi kdo znal povedat, kaj počnem narobe? Tole z ajax počnem prvič ...

carota ::

Imaš jQuery, zakaj se matraš z XMLHttpRequest-i?

http://api.jquery.com/jQuery.post/

$.ajax({
type: 'POST',
url: url,
data: data,
success: success,
dataType: dataType
});

luksorzi ::

login.js sem spremenil tako:

$(document).ready(function(){
	$("#login_form").submit(function(){
		var user = $("#login_name").val();
		var pass = $("#login_pass").val();
		
		$.ajax({
		type:'POST',
		url:'login.php',
		data:'sended_data',
		success:function(response){
			alert(response);
		}
		}); 


	});
});


V login.php pa sem dal samo
echo "krneki";


Ko submitam formo se ne zgodi nič, v konzolo pa dobim tole:
 Konzola

Konzola

carota ::

Brez Firebuga se boš tudi namatral ... Še to si namesti v Firefox: http://getfirebug.com/
Ko boš imel nameščenega, ga odpreš z F12 in potem v zavihku "Net" vidiš requeste.

Probaj poslat podatke tako (iz istega linka, kot sme ga zgoraj dal za $.ajax):
$.post("test.php", { "func": "getNameAndTime" },
function(data){
console.log(data.name); // John
console.log(data.time); // 2pm
}, "json");

luksorzi ::

Requesti so samo trije GET ... /sdev/ (pač vsebina index.php), jquery.js in pa login.js :|
bom pskusil še z $.post

carota ::

Pa se tvoja funkcija sploh pokliče? Ali uporabiš $.ajax() ali $.post() ni bistvene razlike saj je eden le shortcut za drugega. Poglej kako so vrednosti zapakirane.

Osebno raje dam na gumb onclick atribut, kjer eksplicitno definiram funkcijo, ki naj se pokliče, in uporabim type="button". Funkcijo imam posebej definirano. Tako se lažje znajdem v kodi in se ne sprašujem, ali se bo ob kliku na Submit izvedela le moja funkcija ali bo le submitalo ali oboje in katero prej.

luksorzi ::

LoL, na koncu sem dal še en random alert in zdaj deluje! :)):|8-O

Ampak, če rezultat, ki ga vrne login.php izpišem v div response, se ta po kliku na ok izbriše ...

Zgodovina sprememb…

  • spremenil: luksorzi ()

radiokills ::

Problem je ker se ti hkrati z javascriptom hkrati tudi submita obrazec.

Poskusi naslednje:
$(document).ready(function(){
    $("#login_form").submit(function(event){
        //preprecimo, da bi se poslala forma
        event.preventDefault()
        var user = $("#login_name").val();
        var pass = $("#login_pass").val();
         
        $.ajax({
        type:'POST',
        url:'login.php',
        data:'sended_data',
        success:function(response){
            alert(response);
        }
        }); 
 
 
    });
});

luksorzi ::

O, hvala ti. Deluje lepo, kot bi moralo.

Bomo vedeli za naprej :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

jquery ajax problem

Oddelek: Izdelava spletišč
81385 (1007) miko22
»

curl + ssl

Oddelek: Programiranje
8702 (520) MrStein
»

Jquery

Oddelek: Izdelava spletišč
151621 (1345) mk818764
»

jquery in div-i (strani: 1 2 )

Oddelek: Izdelava spletišč
8710469 (9207) lisjak
»

Php varen login

Oddelek: Programiranje
203554 (3054) Volk|

Več podobnih tem