-1

我正在尝试将两个变量(如下)传递给 php/MySQL “update $table SET....”而不刷新页面。

我希望div单击以传递以下变量

$read=0;
$user=$userNumber;

div基本上显示一条消息已被阅读,因此应该改变颜色。

请问最好的方法是什么?

4

6 回答 6

1

这是一些使用 jquery 发布到页面并处理 json 响应的代码。您必须创建一个 PHP 页面,该页面将接收发布请求并返回您希望它执行的任何操作。

$(document).ready(function () {

    $.post("/yourpath/page.php", { read: "value1", user: $userNumber}, function (data) {
        if (data.success) {
          //do something with the returned json
        } else { 
          //do something if return is not successful
        } //if              
    }, "json"); //post
});
于 2012-07-05T14:14:08.320 回答
1

创建一个带有两个参数的 php/jsp/.net 页面

mywebsite.com/ajax.php?user=XXX&secondParam=ZZZZ

将 onClick 事件附加到 DIV

$.get("ajax.php?user=XXX&secondParam=ZZZZ". function(data){
// here you can process your response and change DIV color if the request succeed
});
于 2012-07-05T14:15:51.190 回答
0

我不确定我是否理解。见$.load()

于 2012-07-05T14:11:51.193 回答
0

使用更新代码创建一个新的 php 文件,然后返回一个 json 说明它是否有效。您可以使用 $.getJSON jQuery 函数来实现。

于 2012-07-05T14:12:13.003 回答
0

要根据 jQuery 中的 ID 从 DOM 中选择一个元素,只需执行以下操作:

$("#TheIdOfYourElement")

或者在你的情况下

$("#messageMenuUnread")

现在,要听它何时被点击,

$("#messageMenuUnread").click(function(){
   //DO SOMETHING
}

现在,为了 AJAX 的乐趣。您可以阅读http://api.jquery.com/category/ajax/上的文档以了解更多技术细节,但这就是归结为

        $("#TheIdOfYourImage").click(function(){
            $.ajax({
              type: "POST",                                 // If you want to send information to the PHP file your calling, do you want it to be POST or GET. Just get rid of this if your not sending data to the file
              url: "some.php",                             // The location of the PHP file your calling
              data: "name=John&location=Boston",           // The information your passing in the variable1=value1&variable2=value2 pattern
              success: function(result){ alert(result) }   // When you get the information, what to do with it. In this case, an alert
            });
        }

至于颜色的变化,你可以使用.css()方法改变CSS

$("#TheIdOfAnotherElement").css("background-color","red")
于 2012-07-05T14:19:18.710 回答
0

使用jQuery.ajax()

你的代码看起来像

<!DOCTYPE html>
<head>

</head>
<body>
    <!-- your button -->
    <div id="messageMenuUnread"></div>
    <!-- place to display result -->
    <div id="frame1" style="display:block;"></div>

    <!-- load jquery -->
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>
        $(document).ready(function(){
            //attach a function to messageMenuUnread div
            $('#messageMenuUnread').click (messageMenuUnread);
            //the messageMenuUnread function
            function messageMenuUnread() {
                $.ajax({
                    type: "POST",
                    //change the URL to what you need
                    url: "some.php",
                    data: { read: "0", user: "$userNumber" }
                }).done(function( msg ) {
                    //output the response to frame1
                    $("#frame1").html("Done!<br/>" + msg);
                });
            }
        }
    </script>
</body>

于 2012-07-05T14:29:37.993 回答