Ajax 使用xmlhttprequest可以获取什么?

Ajax 使用xmlhttprequest可以获取什么?,ajax,Ajax,我很难找到答案 我能用ajax从php文件中获取html元素吗?我有一种感觉,我想做一些我不该做的事 我正在使用: . . . <tr> <td colspan="3" style="font-size:11px;"><a href="javascript:void(0)" onclick="getData('includes/forgot-passwordajax.php', 'targetDiv')">Forgot Password?<

我很难找到答案

我能用ajax从php文件中获取html元素吗?我有一种感觉,我想做一些我不该做的事

我正在使用:

.
.
.
<tr>
        <td colspan="3" style="font-size:11px;"><a href="javascript:void(0)" onclick="getData('includes/forgot-passwordajax.php', 'targetDiv')">Forgot Password?</a></td>
    </tr>


   </table></td>
  </tr>
 </table>
</form>
    <div id="targetDiv">
    </div>
。
.
.
includes/forget-passwordajax.php是一个包含表单数据的表,等等。这应该可以工作吗

编辑:以下是脚本:

<script language = "javascript">
      var XMLHttpRequestObject = false;

      if (window.XMLHttpRequest) {
        XMLHttpRequestObject = new XMLHttpRequest();
      } else if (window.ActiveXObject) {
        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
      }

      function getData(dataSource, divID)
      {
        if(XMLHttpRequestObject) {
          var obj = document.getElementById(divID);
          XMLHttpRequestObject.open("GET", dataSource);

          XMLHttpRequestObject.onreadystatechange = function()
          {
            if (XMLHttpRequestObject.readyState == 4 &&
              XMLHttpRequestObject.status == 200) {
                obj.innerHTML = XMLHttpRequestObject.responseText;
            }
          }

          XMLHttpRequestObject.send(null);
        }
      }
    </script>

var XMLHttpRequestObject=false;
if(window.XMLHttpRequest){
XMLHttpRequestObject=新的XMLHttpRequest();
}else if(window.ActiveXObject){
XMLHttpRequestObject=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
函数getData(数据源,divID)
{
if(XMLHttpRequestObject){
var obj=document.getElementById(divID);
open(“GET”,数据源);
XMLHttpRequestObject.onreadystatechange=函数()
{
如果(XMLHttpRequestObject.readyState==4&&
XMLHttpRequestObject.status==200){
obj.innerHTML=XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}
}
php:


从您发布的PHP中,看起来您将HTML代码包含在了
标记中。这是不正确的。您应该将PHP代码放在标记中,并将HTML放在外面。在末端有一个未闭合的支架。在您的情况下,应该(未经测试):


找回密码


/图片/顶部bg.jpg“> 电子邮件地址

顺便说一下,您可以转到浏览器中的页面(
includes/forget passwordajax.php
),查看php给出的错误消息


编辑:此外,HTML有点奇怪-表单从来没有关闭过,不清楚表单第一次显示时应该显示哪些部分,表单提交后应该显示哪些部分。

你应该能够获取数据并根据数据更改HTML-这就是AJAX的用途。但是你能发布 getData()
因为不清楚它在这里的作用是什么?完成了。我仍然不确信我的php文件的格式是否正确,但我很不好意思发布它-哈哈-我没有编写它。你发布的所有代码看起来都是正确的,发布php。这可能有问题。好的。谢谢。我现在至少在主页上看到了ajax输出。现在我可以开始调整这些其他表单元素,以避免将我重定向到其他页面等。再次感谢!
<?php           
<div class='a_login'>
<table class="tabbody"> 
    <tr class="tprowbgcolor">
    <td class="title">Retrieve Password</td></tr>
</table>
<center><BR><BR>
    <table cellpadding="0" cellspacing="0">
    <form name='loginForm' action="forgot-password.php" method="POST">
    <tr><td><img src="<?=SITE_URL?>/images/top-bg.jpg"></td></tr>
    <tr>
    <td class="a_td_color" align="center" valign="top">


    if(isset($_POST['formSubmitted']))
    {
    $email = addslashes(trim($_POST['e_address']));

    if($email=="")  {
      echo '<p>Just kidding? Ehh! <a href="forgot-password.php">try again</a></p>';
    } else  {
      $query    =   "SELECT `Password`, `UserName` FROM users WHERE `Email`='$email'";

      $result   =   mysql_query($query);

      if(mysql_num_rows($result)>0)  {
        $row = mysql_fetch_assoc($result);

        $password=$row['Password'];
        $username=$row['UserName'];
        $to = $email;
        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers .= 'To: '.$username.' <'.$email.'>' . "\r\n";
        $headers .= 'From: Joel Laviolette <admin@mbira.me>' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
        $subject = "Here is your password";
        $message = '<p>Hello '.$username.',</p><p>Your password is: ';
        $message .= '<strong>'.$password.'</strong><br><br>';
        $message .= 'You can login here: <a href="'.SITE_URL.'/login2.php">'.SITE_URL.'/login2.php</a></p>';
        $message .= '<p>With Love and gratitude,<br>Joel Laviolette</p>';
        if(mail($to, $subject, $message, $headers)) {
          echo '<p>Your password has been sent. Please check your email.</p>';
        } else  {
          echo '<p>Email could not be sent! Please contact me directly at joel@rattletree.com.</p>';
        }
      } else  {
        echo '<p>Email not found! <a class="external" href="forgot-password.php">try again</a></p>';
      }
    }
    } else  {

  <table border='0'>
    <tr>
        <td colspan="3">
    <p>Email Address<br />
    <input type="text" name="e_address" value="" size="20"></p></td>
    </tr>
    <tr>
        <td colspan="3" align="center"><input type="submit" value="Submit" name="submit"><input type="hidden" name="formSubmitted" value='1'></td>
    </tr>
    <tr>
        <td colspan="3">&nbsp;</td>
    </tr>
    </table>
?>
<div class='a_login'>
<table class="tabbody"> 
    <tr class="tprowbgcolor">
    <td class="title">Retrieve Password</td></tr>
</table>
<center><BR><BR>
    <table cellpadding="0" cellspacing="0">
    <form name='loginForm' action="forgot-password.php" method="POST">
    <tr><td><img src="<?=SITE_URL?>/images/top-bg.jpg"></td></tr>
    <tr>
    <td class="a_td_color" align="center" valign="top">

<?php           
    if(isset($_POST['formSubmitted'])) {
      $email = addslashes(trim($_POST['e_address']));

      if($email=="")  {
        echo '<p>Just kidding? Ehh! <a href="forgot-password.php">try again</a></p>';
      } else  {
        $query    =   "SELECT `Password`, `UserName` FROM users WHERE `Email`='$email'";

        $result   =   mysql_query($query);

        if(mysql_num_rows($result)>0)  {
          $row = mysql_fetch_assoc($result);

          $password=$row['Password'];
          $username=$row['UserName'];
          $to = $email;
          $headers  = 'MIME-Version: 1.0' . "\r\n";
          $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
          $headers .= 'To: '.$username.' <'.$email.'>' . "\r\n";
          $headers .= 'From: Joel Laviolette <admin@mbira.me>' . "\r\n" .
          'X-Mailer: PHP/' . phpversion();
          $subject = "Here is your password";
          $message = '<p>Hello '.$username.',</p><p>Your password is: ';
          $message .= '<strong>'.$password.'</strong><br><br>';
          $message .= 'You can login here: <a href="'.SITE_URL.'/login2.php">'.SITE_URL.'/login2.php</a></p>';
          $message .= '<p>With Love and gratitude,<br>Joel Laviolette</p>';
          if(mail($to, $subject, $message, $headers)) {
            echo '<p>Your password has been sent. Please check your email.</p>';
          } else  {
            echo '<p>Email could not be sent! Please contact me directly at joel@rattletree.com.</p>';
          }
        } else  {
          echo '<p>Email not found! <a class="external" href="forgot-password.php">try again</a></p>';
        }
      }
    } else {
?>

  <table border='0'>
    <tr>
        <td colspan="3">
    <p>Email Address<br />
    <input type="text" name="e_address" value="" size="20"></p></td>
    </tr>
    <tr>
        <td colspan="3" align="center"><input type="submit" value="Submit" name="submit"><input type="hidden" name="formSubmitted" value='1'></td>
    </tr>
    <tr>
        <td colspan="3">&nbsp;</td>
    </tr>
    </table>

<? } ?>