我有一个只允许用户点击搜索的页面 - 我添加了一个部分以防止他们发送空请求,但是当我将其与现有代码组合时,我似乎搞砸了。现在,当我在控制台日志中单击搜索时,我看到错误:
ReferenceError: term is not defined
data: { 's' : term },
---------^
以下是我的页面的代码。我该如何解决这个问题?
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('input').keyup(function() {
enter code here
var empty = false;
$('input').each(function() {
if ($(this).val().length == 0) {
empty = true;
}
});
if (empty) {
$('.actions input').attr('disabled', 'disabled');
} else {
$('.actions input').attr('disabled', false);
}
});
});
$("#btnSearch").click(function(event) {
// Get some values from elements on the page:
var term = $("#urlField").val();
perlExecute(term);
});
function perlExecute(url){
$.ajax({
type: 'POST',
url: '/cgi-bin/domain-.pl',
data: { 's' : term },
success: function(res) {
$("#result").text(res);
},
error: function() {alert("did not work");}
});
};
</script>
</head>
<body>
<input type="text" name="s" placeholder="Search..." id="urlField">
<div class='actions'>
<input type="button" value="Search" id="btnSearch" disabled="disabled">
</div>
<div id="result"></div>
<p id="content">Lorem Ipsum</p>
</body>
</html>
答案 0 :(得分:0)
您传递了term
作为参数,但您将其重命名为url
。请改用{'s':url}
。 term
的范围限定为文档就绪函数,因此perlExecute
范围内不存在。