2

我有以下标签:

<a href="#" class="Test" data-url="/api/users/unlock">Test</a>

以及以下 JQuery:

$('a.Test').click(function (e) {
  alert(e.data); >> This returns null
  jQuery.support.cors = true;
  $.ajax({
    url: e.data('url'),
    type: 'GET',
    dataType: 'json',
    success: function (data) {
      alert(data)
    },
    error: function () {
      alert("Failure!");
    }
  });

});

基本上,我试图在 Ajax 调用中使用 data-url 的 url。

这不起作用,当我尝试 alert(e.data) 时,我得到空值。

我究竟做错了什么?

谢谢你!

4

1 回答 1

4

您需要使用 data() 函数,例如:

你需要$(this).data("url");

而且,需要注意的是, $(this) 将失去 $.ajax 调用内部的范围,因此请务必在其外部设置一个变量并改用它。IE

$('a.Test').click(function (e) {
  var url = $(this).data("url");
  jQuery.support.cors = true;
  $.ajax({
    url: url,
    type: 'GET',
    dataType: 'json',
    success: function (data) {
      alert(data)
    },
    error: function () {
      alert("Failure!");
    }
  });
于 2013-04-12T14:34:20.810 回答