如何避免 url 自动在 ajax 请求后附加一个“#”符号
How to avoid url aotomatic append a "#" symbol after ajax request
我正在使用 ASP.NET MVC开发一个网页.当我使用aJax请求子页面内容时,url会自动附加一个"#"。在 aJax 之前,url 会这样:http://a.travel.com/product/index,在 aJax 请求之后,url 会这样:http://a.travel.com/product/index#。这是我的 aJax 请求代码:
function GetProductByTag(tagId, source) {
var keyword = $("#serachInput").val();
if (keyword == null) {
return;
}
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
document.getElementById("productList").innerHTML = xhr.responseText;
} else {
xhr.abort();
alert("Too many request!");
}
}
}
xhr.open("Post", "/Product/ProductList?tagId=" + tagId + "&pageIndex=1", true);
}
xhr.send(null);
}
响应文本是产品列表信息(html)。
这是我的页面列表代码的一部分:
<li onclick="ClickProductList(1,'http://www.ly.com/scenery/BookSceneryTicket_2287.html?spm=1.68076534.156.4&refid=75866398')" class="top">
<a href="#">
<img src="/WCF_UploadFile/TourProductPhoto/20160125143157LWTIW.jpg">
<h6>
<span>35</span>
</h6>
<p></p>
</a>
</li>
为什么会发生这种情况以及如何避免?
如果触发事件的锚元素有 href="#",那么它会导致浏览器像这样操作。
如果您完全删除 href 元素,它应该可以工作,并且不会触发 url 更改。
但是,您可能需要更改 CSS,因为没有 href 的锚点会丢失一些样式,例如光标。
a:hover {
cursor:pointer;
}
有关更多信息,请参见此处
相关文章:
- AngulsrJS $filter orderby 一个带有 @ 符号的数组键
- JavaScript 不会替换字符串的最后一个符号
- 在 Javascript 中获取字符串中的最后一个符号时值错误
- 从引导程序图标十六进制值输出一个符号
- Caret函数没有'如果插入符号在最后一个位置,就不能正常工作
- 我如何判断一个符号是否被用作密钥
- 所有有效的电子邮件是否至少包含一个@符号
- 如何避免 url 自动在 ajax 请求后附加一个“#”符号
- 使用jquery将除文本字段和文本区域外的所有html标记中的所有指定符号转换为另一个符号
- 为什么在下面的例子中零有一个符号
- 在文本区域的每个指定长度后面添加一个符号
- 用highchart设置一个符号标记
- 在最后一个符号"/"或““
- Regex比需要多提取一个符号
- 在jQuery中使用html()方法和一个符号
- 如何在一个符号的每一边得到数字
- 函数将参数更改为另一个符号
- 在页面上的所有文本框前面添加一个$符号
- 为什么这个regex替换会在开头删除一个符号,而不是在结尾
- 正则表达式有一个例外 - 如果数字是下一个符号,则不要匹配所有内容