ReferenceError:未定义term

时间:2016-03-09 21:54:44

标签: javascript jquery html

我有一个只允许用户点击搜索的页面 - 我添加了一个部分以防止他们发送空请求,但是当我将其与现有代码组合时,我似乎搞砸了。现在,当我在控制台日志中单击搜索时,我看到错误:

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>

1 个答案:

答案 0 :(得分:0)

您传递了term作为参数,但您将其重命名为url。请改用{'s':url}term的范围限定为文档就绪函数,因此perlExecute范围内不存在。