AJAX,PHP DB查找

时间:2012-10-16 14:30:52

标签: php ajax database

目前我有一个表单,当用户输入数据时,此代码会调用另一个页面来检查用户名是否正在使用。这是调用DB Page(test.php)

的主页面中的代码
<script type="text/javascript">
function showHint(str)
{
if (str.length==0)
  { 
  document.getElementById("txtHint").innerHTML="";
  return;
  }
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("txtHint").innerHTML=xmlhttp.responseText;
        if (xmlhttp.responseText.indexOf("green") != -1) {
            document.getElementById("submit").disabled = false;
        } else {
            document.getElementById("submit").disabled = true;
        }
    }
  }
xmlhttp.open("GET","test.php="+str,true);
xmlhttp.send();
}
</script>

我想改变它,所以当它调用test.php时,它会根据用户输入的表单字段将值传递给test.php。

这样我就可以使用test.php来执行异构数据库查找,具体取决于用户正在完成的表单字段。

有人可以帮忙吗? 谢谢:)

1 个答案:

答案 0 :(得分:0)

使用Javascript jQuery ajax函数的示例。当用户点击id =“myButton”的组件时,可以调用此函数:

$(document).ready(function() {
    $('#myButton').click(function() {

        var myValue = $('#myInput').attr('value');

        var request = $.ajax({
            url: "test.php",
            type: "GET",
            data: {
                myInput : myValue
            },
            dataType: "json"
        });

        request.done(function(msg) {
            alert( "Request done: " + msg);
        });

        request.fail(function(jqXHR, textStatus) {
            alert( "Request failed: " + textStatus );
        });
    });
});

通过此示例,您可以从带有 id =“myInput”的texfield中获取值,并通过 GET 调用 test.php < / strong> page。

在test.php页面中,您可以使用以下内容获取值:

$_GET['myInput'];

只有一个提示:您的test.php必须返回json类型。