gpt4 book ai didi

javascript - 如何获取data-esid属性并POST?

转载 作者:行者123 更新时间:2023-11-27 22:32:29 27 4
gpt4 key购买 nike

没有 data-esid 一切正常,我无法在 data-esid 中发送数据。

我的错误在哪里?

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

Javascript:

 function goToWorld() {
var idno = $(this).data("esid");
var last_name = $(this).data("lname");
var dataString = 'ESidNO='+idno+'&last_name='+last_name;

$.ajax({
type:'POST',
data:dataString,
url:'Lib/Path/Page.php',
success:function(data) {
alert(data);
}
});
return false;
}

最佳答案

无论有没有 esid,我根本不明白这是如何工作的。问题是,无论 this 在您的函数上下文中是什么,它都不是您单击的链接。

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

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

结果会是这样的:

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

JavaScript:

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

请注意,我还用一个对象替换了数据,以便正确转义值。这不会对示例代码产生影响,但当您的值包含必须在 url 中转义的字符时,就会产生影响。

关于javascript - 如何获取data-esid属性并POST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39427587/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com