2011-11-21 37 views
0

我一直在尝试几个小时才能完成这项工作,但在进行ajax调用时我没有收到任何回应。我对Ajax是新手,它可能是您将会看到但我无法做到的事情。我很感激你的帮助。这是我的代码。试图让简单的登录表单上的AJAX工作

HTML

<script> 
$("#submitlogin").click(function() { 

     inputs = { 
     "logInUsername" : $('input[name=logInUsername]').val(), 
     "logInPassword" : $('input[name=logInPassword]').val() 
     }; 
     // since this is a username and password combo you will probably want to use $.post 
     $.ajax ({ 
     type: "POST",   
     url: "loggnow.php", 
     data: inputs, 
     success: function() { 
      $("#login").html("You are now logged in!"); 
     } 
     }); 
    }); 
</script> 

loggnow.php

<?php 
extract($_POST); 

if($_POST) 
{ 
    echo 'Yes the ajax posted'; 
} 
?> 
+0

当您尝试手动访问该页面时,您会看到Javascript错误或PHP错误吗? 也确保你给PHP文件的正确路径,你有什么暗示,这两个文件都在同一目录 –

+0

是的,我能够通过网址访问页面,是的,他们在同一个目录 – user710502

回答

2

试试这个:

$(document).ready(function(){ 
    $("#submitlogin").click(function() { 
    inputs = { 
     "logInUsername" : $('input[name=logInUsername]').val(), 
     "logInPassword" : $('input[name=logInPassword]').val() 
    }; 
    // since this is a username and password combo you will probably want to use $.post 
    $.ajax ({ 
     type: "POST",   
     url: "loggnow.php", 
     data: inputs, 
     success: function() { 
      $("#login").html("You are now logged in!"); 
     }, 
     error : function(jqXHR, textStatus, errorThrown){ 
      alert("error " + textStatus + ": " + errorThrown); 
     } 
    }); 
    }); 
}); 

这会给你一个警告,如果在AJAX发生错误,详情

编辑:

利奥指出了这一点,你的代码可能会被执行太快了,尝试了上述修改后的代码,这样你要确保它运行后,所有的页面加载

+0

谢谢Dani,我试过了,什么都没有回来..页面也没有改变,但是当我点击按钮时,它似乎像加载了一秒钟的东西..但是然后停留在同样的页面上,就像什么都没有发生。 – user710502

+1

我更新了我的回答后,狮子座的建议 尝试它,让我知道,虽然利奥的方法也不错,我鼓励你使用'$(document).ready',而不是因为它更清晰地阅读,然后只是'$()'特别如果你正在处理巨大的代码 –

+0

哇是啊这工作..最后一个问题如果我想显示消息“你是从我的.php页面登录,我可以这样做吗?..或者我怎么操纵成功:函数,以便它从php – user710502

0

你只需要一个Web服务器主机看起来是这样的:HTTP://127.0.0.1:8084/XXX

+0

我使用的是Apache http:// localhost/blah blah – user710502

+0

你从哪里得到端口号? – 2011-11-21 05:07:12

2

尽量把自己的函数中

$(function(){ 
    //attach the button click here 
}); 

这样你的代码只会加载身体后运行(这样你确信你的按钮存在) - 看here