参数获取方法是正确还是错误?

时间:2012-01-23 11:04:06

标签: javascript jquery html ajax

我需要通过点击链接获取数据。 有我的链接;

<a class="note" id="' . $data["p_id"] . '" value="1" href="javascript:void(0)">+1</a>
<a class="note" id="' . $data["p_id"] . '" value="-1" href="javascript:void(0)">-1</a>

我在使用$ .ajax时使用此代码。我必须获得价值和“$ data [”p_id“]”但我的用法是真还是假?

我的JQuery代码:

 $("a[class=note]").click(function( evt ){
                    var note = $(this).attr("value");
                    var preid = $(this).attr("id");
                    alert(note);
                    $.ajax({
                        type: 'GET',
                        url: 'style/ajax.php',
                        data: 'do=note&value=' + note + '&preid=' + preid
                    });
                });

1 个答案:

答案 0 :(得分:1)

一些要点

  • 所有元素ID都应该是唯一的
  • “a”标签
  • 没有“值”属性
  • 您应该从false处理程序返回click以阻止默认操作
  • ajax是一种低级方法,请考虑getpost
  • 使用ajax时,最好为非JavaScript浏览器提供备用导航,即为链接提供正常的“href”属性。在您的情况下,由于搜索引擎并不打算使用链接,因此使用inputbutton更加“语义”。

示例:

<button class="note" name="plus" value="$data["p_id"]">+1</button>
<button class="note" name="minus" value="$data["p_id"]">-1</button>

$("button.note").click(function() {
    var name = $(this).attr("name");
    var note = name == "plus" ? 1 : -1;
    var id = $(this).attr("value");
    $.get("style/ajax.php?do=note&value=" + note + "&preid=" + id);
    return false;
})