我是JavaScript,Jquery和Ajax的新手。这就是我想要做的事情:
我的HTML代码中有一个按钮,我想触发一个AJAX调用,它会向在我的本地机器上运行的Web服务器发出GET请求。
这是我到目前为止所做的:
JS代码:
mmap
HTML code:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript">
$('call').click(function() {
alert("hiii");
$.ajax({
'url' : 'localhost:8080/blah/blah/blah',
'type' : 'GET',
beforeSend: function() {
alert(1);
},
error: function() {
alert('Error');
},
'success' : function(data) {
if (data == "success") {
alert('request sent!');
}
}
});
});
</script>
有人能帮助我吗?提前谢谢!
答案 0 :(得分:2)
您的代码存在一些问题。例如,您的选择器不指向任何类或ID。您需要分别使用.call
或#call
作为类或ID。其次,您的脚本没有document.ready
功能。看看下面的代码。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript">
// document.ready function
$(function() {
// selector has to be . for a class name and # for an ID
$('.call').click(function(e) {
e.preventDefault(); // prevent form from reloading page
alert("hiii");
$.ajax({
'url' : 'localhost:8080/blah/blah/blah',
'type' : 'GET',
beforeSend: function() {
alert(1);
},
error: function() {
alert('Error');
},
'success' : function(data) {
if (data == "success") {
alert('request sent!');
}
}
});
});
});
</script>
答案 1 :(得分:0)
@NightOwlPrgmr提到你的选择器是错误的。要更正此问题,您必须使用#call
而不是.call
,因为这是一个id而不是class属性。此外,Document.ready
函数将确保在加载所有html元素后运行代码。这将降低尝试使用尚未创建的元素的风险。类似于上面的示例代码是: -
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js">
</script>
</head>
<body>
<div>
<form>
<div class = "buttons">
<input type="submit" id="call" value="call">
</div>
</form>
</div>
<script type="text/javascript">
// document.ready function
$(document).ready(function() {
// selector has to be . for a class name and # for an ID
$('#call').click(function(e) {
e.preventDefault(); // prevent form from reloading page
alert("hiii");
$.ajax({
'url' : 'localhost:[port_number_web_server]/blah/blah/blah',
'type' : 'GET',
beforeSend: function() {
alert(1);
},
error: function() {
alert('Error');
},
'success' : function(data) {
if (data == "success") {
alert('request sent!');
}
}
});
});
});
</script>
</body>