使用jQuery的AJAX,将变量发送到数据

时间:2014-05-08 01:32:11

标签: javascript jquery ajax

我可以用.ajax方法给jQuery一个变量吗?

现在我有这样的事情:
<button onclick="sendQuery()">

function sendQuery(){
    $.ajax({
        type: "GET",
        url: "action.php",
        async: false,
        data: {id: 560, 
               message: "Some message to you"  
    }
}

但有可能这样做:
<button onclick="sendQuery(560, 'Some message to you')">

function sendQuery(myId, myMessage){
    $.ajax({
        type: "GET",
        url: "action.php",
        async: false,
        data: {id: myId,
               message: myMessage  
    }
}

1 个答案:

答案 0 :(得分:3)

我会将消息添加到按钮上的data-属性,然后在sendQuery()函数中使用该消息:

<button onclick="sendQuery()" data-mymessage="Some message to you">

然后:

    function sendQuery(){
        var myMessage = $(this).data("mymessage");
        $.ajax({
            type: "GET",
            url: "action.php",
            async: false,
            data: {id: 560, 
                   message: myMessage  
        }
    }

真的,你不应该使用按钮的onclick属性..它被认为是bad practice

理想的做法更像是:

<button id="myButton" data-mymessage="Some message to you" data-myID="560">

然后在JS中:

    $('#myButton').click(function(){
        var myMessage = $(this).data("mymessage");
        var myID = $(this).data("myID");
                $.ajax({
                    type: "GET",
                    url: "action.php",
                    async: false,
                    data: {id: myID, 
                           message: myMessage  
                }
    });

如果您想要使用多个按钮中的相同功能(重复使用代码),只需将JS中的#更改为.并使用,则可以使用类替换该ID所有必需按钮上的class=""属性。

上面需要jQuery,但看起来你已经包含了$.ajax..正常工作..