2011-11-21 14 views
7

के लिए AJAX अनुरोध कैसे करें मेरे पास यह मेरे PHP कोड में है, और वर्तमान में यह उसी login.php पृष्ठ में लॉगिन अनुरोध करता है लेकिन अब मैं इसे अजाक्स के साथ करना चाहता हूं। मूल रूप से मैं login.php में इस राशिलॉगिन

 echo '<form method="post" ><div id="login" class="login"> 
     <label for="login">User Name</label> 
     <input type="text" name="logInUsername" /> 
     <label for="Password">Password</label> 
     <input type="password" name="logInPassword" /> 
     <input type="submit" value="Submit" name="submitlogin" class="button" /> 
     </div>'; 

मैं अभी भी इस का उपयोग लेकिन बदल <div id=login> to say you are logged in!</div> मैं यह कर सकता एक login_request.php या कुछ और मैं कहाँ मान्य उपयोगकर्ता नाम और पासवर्ड भेज सकते हैं और उसके बाद कर सकते हैं करना चाहते हैं पारंपरिक रूप से, फॉर्म पोस्ट के साथ .. लेकिन अब मैं इसे अजाक्स के साथ आजमाने की कोशिश करूंगा।

किसी भी मदद की बहुत सराहना की जाएगी।

सादर

+0

सुनिश्चित करें कि इसका https – Derek

उत्तर

0

क्या आप अब तक की कोशिश की?

यह मिलना चाहिए आप आरंभ:

HTML:

<form id="loginForm"> 
    <div id="login" class="login"> 
     <label for="login">User Name</label> 
     <input type="text" name="logInUsername" /> 
     <label for="Password">Password</label> 
     <input type="password" name="logInPassword" /> 
     <input type="button" value="Submit" id="submitlogin" class="button" /> 
    </div> 
</form> 

jQuery:

$("#submitlogin").click(function() { 
    inputs = //grab then inputs of your form #loginform 
    $.ajax ({ 
     url: "urltoyourloginphp.php", 
     data: inputs, 
     success: function() { 
     $("#login").html("You are now logged in!"); 
    } 
    }); 
}) 
+0

यह बताना सुनिश्चित करें कि आप jQuery का उपयोग कर रहे हैं। – Blender

+0

प्रश्न jQuery, ब्लेंडर के साथ टैग किया गया है। – Jordan

+0

धन्यवाद, मैंने जो कोशिश की है वह परंपरागत तरीका है .. लेकिन मैं इसे अजाक्स का उपयोग करने के लिए साफ कर रहा हूं, ... माफ करना मैं अजाक्स के लिए नया हूं .. सिर्फ एक सवाल .. यह पैरामीटर को इनपुट के रूप में कैसे उम्मीद करता है, अल्पविराम से अलग? एक apostrophes के साथ? – user710502

0

मैंने कुछ समय पहले यह लिखा, यह काफी एक पूर्ण ajax लॉगिन (अर्थात अंत में यह अभी भी आपको यहां रीडायरेक्ट करता है) नहीं है, लेकिन यह एक पूर्ण ajax प्रवेश के लिए एक आधार के रूप में सेवा कर सकता है। एक प्लस के रूप में आपको वास्तव में https की आवश्यकता नहीं है (यह इस छोटी परियोजना का पूरा बिंदु था)।

https://github.com/eberle1080/secure_http_login/blob/master/login.php

उच्च स्तर चरणों कुछ इस तरह जाना:

  • एक बीज मूल्य के लिए सर्वर (नमक) से पूछो एक ajax अनुरोध
  • हैश पासवर्ड + बीज एक SHA1 का उपयोग कर का उपयोग करते हुए योग
  • सर्वर से उपयोगकर्ता नाम और नमकीन + हैश पासवर्ड सत्यापित करने के लिए कहें
  • यदि यह मान्य है, तो सर्वर एक सत्र कुकी सेट करता है जो दर्शाता है कि उपयोगकर्ता
  • सर्वर एक सफलता के साथ ajax अनुरोध का जवाब में लॉग ऑन है/असफल संदेश
0

jQuery .post में बनाया गया है() और .serialize यह मैं कैसे शुरू होता है() एक फॉर्म लपेटने के तरीकों।

$.post("login.php", $("#loginForm").serialize(), function(data) { 
    //pass information back in with data. if it's JSON, use $.parseJSON() to parse it. 
    alert('either logged in or errored'); 
); 

आप भी अपने प्रपत्र संपादित करने के लिए तो यह एक आईडी है, जैसे की आवश्यकता होगी: (<form id="loginForm">...

0

मैं PHP पता नहीं है, लेकिन आप कैसे मैं इसे VBScript साथ किया होता का एक उदाहरण दे देंगे क्लासिक एएसपी) ताकि आप इसे आवश्यकतानुसार PHP में अनुकूलित करने का प्रयास कर सकें।

मैं, मेरे अनुप्रयोगों में, फॉर्म टैग का उपयोग नहीं करता क्योंकि मैंने पहले एजेक्स का उपयोग किया था। तो, यहां हम जाते हैं:

login html page: 

include jquery 
<script type='text/javascript' src='your-jquery-url'></script> 
<script type='text/javascript'> 

    function tryLogin() { 
     var inputs='userName='+$('logInUsername').val()+ 
        '&userPassw='+$('logInPassword').val(); 
     //notice that I changed your name= to id= in the form 
     //notice the '&' in the '&userPassw= 
     $.post('your-login-validation-page',inputs,function(data) { 
      eval('var json='+data); 
      if (json['success'] == 'true') { 
       $('#loginForm').html('<p>Congratulations! You\'ve been logged in successfully</p>') 
      } else { 
       alert(json['errorMessage']); 
       $('#logInUsername').focus(); 
      } 
     }); 
    } 

</script> 

<div id='loginForm' > 
    <label for="login">User Name</label> 
    <input type="text" id="logInUsername" /> 
    <label for="Password">Password</label> 
    <input type="password" id="logInPassword" /> 
    <button onClick='tryLogin(); ' >LOGIN</button> 
</div> 



login-validation-page 

[in vbscript] 

user = request.Form("userName") 
passw = request.Form("userPassw") 

"if is there this user"  (coded as if there was a database look up...) 
    "if the password = passw" (coded as comparing the values) 
     response.write "{'sucess':'true'}" 
    else 
     response.write "{'success':'false','errorMessage':'wrong password'}" 
    end if 
else 
    response.write "{'success':'false','errorMessage':'user not found'}" 
end if 

---> end of login-validation-page 
संबंधित मुद्दे