我在为超链接提供Ajax功能方面遇到了问题。我有Link.html
和GetCustomerdata.php
个文件。 HTML的主要功能是将数据发送到getCutomerData.php
并将闪存显示为“成功”。
而且我也不想要超链接,
<a href="#"
相反,我需要它:
<a href=GetCustomer.php?id=<format>
是否可以清除?
<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文件只是闪烁了一条消息:
<?php
echo "Success"
?>
答案 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();
...
}