2013-09-26 105 views
0

我有一个简单的脚本,在阿贾克斯,我想根据价值来获取返回并进行处理:如何捕获AJAX响应?

if (xmlhttp.readyState==4) { 

    if (xmlhttp.responseText == "not available") { 
     document.write("not available"); 
    } 

} 

同时,我想这一点,它的工作:

if (xmlhttp.readyState==4) { 

    document.write(xmlhttp.responseText); 

} 

我在做什么错?


谢谢您的回复。这是我目前的域名可用性检查脚本的伟大工程:

<html> 
    <head> 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       $('#dtype').change(function() { 
        var opt = $('#domain').val(); 
        $.ajax({ 
         type: "POST", 
         url: "testwhois.php", 
         data: 'd=' + opt, 
         success:function(data){ 
          $('#txtHint'). html(data); 
         } 
        }); 
       }); 
      }); 
     </script> 
    </head> 
<body> 
<form> Domain name : <input type="text" name="domain" id="domain"> <input type="radio" name="dtype" id="dtype" value="new">New <input type="radio" name="dtype" value="transfer">Transfer <span id="txtHint"></span> </form> 
</body> 
</html> 

不过,我想有两件事情是:

  1. 预加载图像(我有),而脚本工作在'txtHint'的地方显示答案。

  2. 答案返回在“不可用”或可用的格式。”我想让‘域’字段为空,当回答返回为‘不可用’的HTML代码。

再次感谢

+2

去抓住已经Ajax的内置,像jQuery库。这些天没有人会从头开始写它。 –

+0

问题到底是什么?如果你的第二个版本有效,你不能只用它吗? – David

+0

正如@Diodeus所说,下载jQuery。它的文档非常简单易用,因为它有很多例子。 – Victor

回答

2

原谅我,如果你知道这个了,但如果你不这样做:

Ajax的数据发布到外部php文件,它处理接收到的数据,并发送回答案如下:

文件#1:

<html> 
    <head> 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       $('#Sel').change(function() { 
        var opt = $(this).val(); 
        var someelse = 'Hello'; 
        var more_stuff = 'Goodbye'; 
        $.ajax({ 
         type: "POST", 
         url: "receiving_file.php", 
         data: 'selected_opt=' + opt + '&something_else=' +someelse+'&more_stuff='+more_stuff, 
         success:function(data){ 
          alert('This was sent back: ' + data); 
         } 
        }); 
       }); 
      }); 
     </script> 
    </head> 
<body> 

<select id = "Sel"> 
    <option value ="Song1">default value</option> 
    <option value ="Song2">Break on through</option> 
    <option value ="Song3">Time</option> 
    <option value ="Song4">Money</option> 
    <option value="Song5">Saucerful of Secrets</option> 
</select> 

文件#2:receiving_file.php

<?php 
    $recd = $_POST['selected_opt']; 
    echo 'You chose: ' . $recd; 

上面的示例的工作原理。如果您将其复制/粘贴到两个文件中,您将看到AJAX正在运行。当然,服务器端脚本是用PHP编写的,所以你的服务器需要处理它。如有必要,请下载XAMPP并将其安装在本地计算机上。请将这两个文件的文件夹htdocs,并在浏览器地址栏中输入:

http://localhost/whatever_you_called_the_first_page.php 

正如你所看到的,它是更简单使用jQuery编写AJAX代码。所需要的只是jQuery库(通常在头标记中,如上面的代码示例中所示)和AJAX代码块。

下面是其他一些例子来研究:

More complicated example

Populate dropdown 2 based on selection in dropdown 1

+0

感谢您的回复。这是我目前的HTML脚本,效果很好。 – Subhendu