Аякс гиперссылки - PullRequest
       10

Аякс гиперссылки

0 голосов
/ 17 декабря 2008

У меня проблема с предоставлением функциональности Ajax гиперссылке. У меня есть файлы Link.html и GetCustomerdata.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-файл просто мигает сообщением suceess:

getCustomerData.php

<?php
    echo "Success"
?>

1 Ответ

1 голос
/ 17 декабря 2008

Вы поместили событие onclick привязки в атрибут href. Онклик должен быть записан как отдельный атрибут:

...
<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();
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...