如何使用jQuery AJAX在按下按钮后使node.js服务器执行操作

6

我有一个问题。我想在点击按钮后让服务器执行某些操作。 这是我的HTML代码:

    <input name="like" id="like" value="Like" type="submit" />
    <script>
        $('like').click(function(){
            $.post('/test')
        });
    </script>

以下是我的服务器端代码:

app.post('/test', function (req, res) {
    console.log('works');
});

它不起作用。


它应该在说什么? - Mritunjay
你期望什么? - morkro
1
可以使用$('#like').click(function(){代替$('like').click(function(){ - prava
谢谢prava,我错过了# :D - kuba12
2个回答

8
你的问题在这里,你忘记了用 # 来选择元素 ID,所以点击事件永远不会被触发。
$('#like').click(function(){
    $.post('/test');
});

3

看起来您没有正确选择输入标签。如果您想按ID选择DOM元素,您需要使用“#ID名称”作为您的选择器。

对于这个例子,这意味着将其更改为

...
$('#like').click(function(){
...

这也可能无法完全解决错误:如果使用类型为“submit”的输入字段,则可能需要执行以下操作:
...
$('#like').click(function(e){
    e.preventDefault();
...

保持输入框的默认提交事件不会“冒泡”上来。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接