jquery - 获取数据属性值...数据返回 null

标签 jquery

我有以下标签:

<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。

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

我做错了什么?

谢谢!

最佳答案

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

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

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

$('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!");
    }
  });

关于jquery - 获取数据属性值...数据返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15974077/

相关文章:

javascript - 动态替换/重新渲染 Twitter 搜索源

javascript - 单击另一个弹出窗口时如何关闭弹出窗口?

javascript - jquery 停止委托(delegate)事件被调用两次

javascript - Angular ng-model 在 JS 中未定义

javascript - 邮政编码生成器 JQuery

jquery - 重置并循环jquery动画

javascript - 使用 html 类属性作为变量是否是错误的形式

javascript - HTML5 文本字段的正则表达式模式

jquery - asp.net mvc 4中jquery ajax调用后的服务器端重定向

HTTP 和 HTTPS 之间的 JSON 调用的 Jquery 'permission denied' 错误