jQUERY意外的字符串?

时间:2013-04-12 21:07:16

标签: jquery ajax

问题

我收到意外的字符串错误,但我没有看到任何错误?...

这是我的代码:

$(document).ready(function() {

    var search = $("#search");

        $("#bla").click(function() {
            if (search.val() != '') {
                load();
                $.post("ajax_search.php", { search : search.val()}, function(data) {
                    stop_load();
                    $(".result").html(data);
                });
            } 
            else 
            {
                $(".result").html('');
            }
        });
        $("#hover").hover(function() {
            load();
            $.post"ajax_search.php?type=sidebar", { sidebar : seach.val() }, function(get_data) {
                stop_load();
                $("sidebar").html(get_data);
            }
        });     

function load() {
    $('.load').html('<img src="http://i.imgur.com/ZoI4x5I.gif" />');
}
function stop_load(){
    $('.load').html('');
}   
});

问题

基本上,在我删除

中启动的函数后问题得到解决
    $("#hover").hover(function() {

这是我顺便说一句的错误:

未捕获的SyntaxError:意外的字符串:29

这是第29行:

        });

之前

    $("#hover").hover(function() {

造成这种情况的原因是什么?我做错了什么? 谢谢!

4 个答案:

答案 0 :(得分:4)

$.post的语法不正确。你缺少一个开括号和右括号。

$("#hover").hover(function() {
    load();
//        v-- opening parathesis here
    $.post("ajax_search.php?type=sidebar", { sidebar : seach.val() }, function(get_data) {
        stop_load();
        $("sidebar").html(get_data);
//   v-- closing here
    });
}); 

答案 1 :(得分:2)

您遗失了()

 $.post("ajax_search.php?type=sidebar", { sidebar : seach.val() }, function(get_data) {
                stop_load();
                $("sidebar").html(get_data);
 });

答案 2 :(得分:2)

对你未来的帖子提出建议:

在发布任何javascript/jQuery代码之前。请按照以下步骤进行:

  1. 访问网站jsfiddle.net

  2. 然后,将代码粘贴到 javascript 面板中。

  3. 如果是jQuery代码,请从框架&amp;中选择版本。右侧的扩展程序框。

  4. 然后,点击顶部的按钮,名为 JSHint

  5. 如果有任何错误,您会在右侧知道它们是红点。

  6. 修复它们并再次点击 JSHint

  7. 最后,如果您收到如下消息:

  8.   

    JSLint有效!干得好!您的JavaScript代码完全有效。

    然后再次在本地计算机上运行代码,如果您收到任何错误,请将问题发布到SO上。没有冒犯!

答案 3 :(得分:1)

您的post()方法缺少parens。

此:

$.post "ajax_search.php?type=sidebar", {
    sidebar: seach.val()
},

应该是

$.post("ajax_search.php?type=sidebar", {
    sidebar: seach.val()
}),

如果您没有使用向您显示JS错误的IDE,我建议您在所使用的任何Web浏览器上检查控制台,或者甚至将您的JS弹出到jsfiddle并单击JSHint。