Javascript 如何获取数据esid属性和POST?

Javascript 如何获取数据esid属性和POST?,javascript,php,ajax,post,Javascript,Php,Ajax,Post,如果没有数据esid,一切正常,我无法在数据esid中发送数据 我的错误在哪里 <a href="#" data-esid="123" data-lname="Saracoglu" onclick="goToWorld();">link1</a> 您必须在{} 请尝试以下操作,而不是使用dataString: newData = {ESidNO: idno, last_name: last_name} 无论是否使用esid,我都看不出这是如何工作的。问题在于,无论此在

如果没有
数据esid
,一切正常,我无法在
数据esid
中发送数据

我的错误在哪里

<a href="#" data-esid="123" data-lname="Saracoglu" onclick="goToWorld();">link1</a>

您必须在
{}

请尝试以下操作,而不是使用
dataString

newData = {ESidNO: idno, last_name: last_name}

无论是否使用
esid
,我都看不出这是如何工作的。问题在于,无论此在您的函数上下文中是什么,它都不是您单击的链接

您也没有取消单击事件,返回
false
,但您没有在内联单击处理程序中使用该值。但是,这只会导致页面跳转到顶部,因为链接是

解决这个问题的最简单方法是将处理程序附加到链接,例如使用类

结果是:

<a href="#" data-esid="123" data-lname="Saracoglu" class="goToWorld">link1</a>

请注意,我还使用对象替换了数据,以便正确转义这些值。这在示例代码中不会有什么区别,但当您的值包含必须在url中转义的字符时会有区别。

要访问“数据esid”,可以使用element.dataset.esid….
var last_name
->
var
您删除了,为什么不需要?@Saracoglu您可以在定义变量时用逗号分隔变量。我只是习惯性地这样做……如果结果成功,我是否可以显示一张图片来代替
alert
?@Saracoglu当然,您可以添加一张图片,例如隐藏一个类,然后在
success
函数中删除该类。或者添加一个全新的图像。
<a href="#" data-esid="123" data-lname="Saracoglu" class="goToWorld">link1</a>
$('.goToWorld').on('click', function(e) {
      // Now $(this) is the link that was clicked
      var idno = $(this).data("esid"),
          last_name = $(this).data("lname");

      // Cancel the default click event
      e.preventDefault();

      $.ajax({
           type: 'POST',
           data: {
                ESidNO: idno, 
                last_name: last_name
           },
           url: 'Lib/Path/Page.php',
           success: function(data) {
               alert(data);
           }
      });
});