我已经编写了一个 AJAX 调用,当用户点击提交按钮时就会提交。我已经包含了 jQuery 并编写了以下代码(摘自 jQuery 文档):
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(document).ready(function(){
$("Shareitem").click(function(e){
e.preventDefault();
$.ajax({type: "POST",
url: "/imball-reagens/public/shareitem",
data: { id: $("Shareitem").val(), access_token: $("access_token").val() },
success:function(result){
$("sharelink").html(result);
}});
});
});
</script>
Html:
HTML:
<div id="sharelink"></div>
[...]
<input type="hidden" name="id" value="" id="id"></dd>
<dd id="access_token-element">
<input type="hidden" name="access_token" value="xxxxxxxx" id="access_token"></dd>
<dt id="Shareitem-label"> </dt><dd id="Shareitem-element">
<input type="submit" name="Shareitem" id="Shareitem" value="UpdatedByPreviousAjaxCall"></dd></dl></form>
问题是:提交操作被执行了,但ajax调用没有执行,所以表单执行了请求的提交操作,而不是停留在同一页上并更新 div
标签的内容。
我错在哪里?我错过了什么吗? 提前感谢任何提示。
$('Shareitem')
和$('sharelink')
不是很好的选择器... - Karl-André Gagnon