Ajax超链接

时间:2008-12-17 13:38:36

标签: php ajax hyperlink

我在为超链接提供Ajax功能方面遇到了问题。我有Link.htmlGetCustomerdata.php个文件。 HTML的主要功能是将数据发送到getCutomerData.php并将闪存显示为“成功”。

而且我也不想要超链接,

<a href="#"

相反,我需要它:

<a href=GetCustomer.php?id=<format>

是否可以清除?

Link.Html

<html>
    <head>
        <title>Customer Account Information</title>
        <script type="text/javascript">
            var url = "GetCustomerData.php?id="; // The server-side script
            function handleHttpResponse() {
                if (http.readyState == 4) {
                    if(http.status==200) {
                        var results=http.responseText;
                        document.getElementById('divCustomerInfo').innerHTML = results;
                    }
                }
            }

            function requestCustomerInfo() {
                var sId =10;
                document.getElementById("txtCustomerId").value;
                http.open("GET", url + escape(sId), true);
                http.onreadystatechange = handleHttpResponse;
                http.send(null);
            }

            function getHTTPObject() {
                var xmlhttp;

                if(window.XMLHttpRequest){
                    xmlhttp = new XMLHttpRequest();
                }
                else
                    if (window.ActiveXObject){
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                        if (!xmlhttp){
                            xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
                        }
                    }
                return xmlhttp;
            }

            var http = getHTTPObject();
        </script>
    </head>

    <body>
        <a href="getCustomerData.php?id=10&onclick="requestCustomerInfo();return false;">Show Me</a>
        <div id="divCustomerInfo"></div>
    </body>
</html>

...

我的PHP文件只是闪烁了一条消息:

getCustomerData.php

<?php
    echo "Success"
?>

1 个答案:

答案 0 :(得分:1)

您将锚点onclick事件放在href属性中。 onclick应该写成一个单独的属性:

...
<a href="getCustomerData.php?id=10" onclick="requestCustomerInfo();return false;">Show Me</a>

要防止链接重定向页面,您需要停止click事件以执行链接默认操作。在你的函数调用中:

function requestCustomerInfo(event) {
    if (!event) var event = window.event;
    event.preventDefault();
    ...
}