Javascript $。是否使用动态数据名称获取?
我在设置数据名或传入的对象时遇到问题。我正在编写一个系统,它使用AJAX向服务器发送请求,然后服务器返回必要的数据。然而,我试图使事情通用化,如果开发人员添加更多的“石板”,那么它将自动代表其发送请求。代码如下所示:Javascript $。是否使用动态数据名称获取?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在设置数据名或传入的对象时遇到问题。我正在编写一个系统,它使用AJAX向服务器发送请求,然后服务器返回必要的数据。然而,我试图使事情通用化,如果开发人员添加更多的“石板”,那么它将自动代表其发送请求。代码如下所示: $(document).ready(function() { $(".slate").each(function(){ $.get("requests.php", { $(this).attr('name') :
$(document).ready(function() {
$(".slate").each(function(){
$.get("requests.php", { $(this).attr('name') : "true" }, function(data){
});
});
});
换句话说,它接受元素的名称并将其应用于查询字符串。JavaScript似乎不喜欢
$(this).attr('name')
在语法中,这是可以理解的,因为它只需要文本(而不是var或字符串)。有没有办法让这一切顺利进行?非常感谢您的帮助 这应该行得通。您会遇到什么错误?“缺少:在属性id之后”。我使用Netbeans作为IDE,它在代码下面加了一条粗体红色的线。如果我把它改成普通形式(比如说thisData),那么它就没有问题了。你试过运行这段代码吗?我不明白为什么它不起作用。我不是专家,但在javascript中,您可以通过以下方式访问数组(或对象):myarray[$(this).attr('name')]为什么不先构建对象,然后以这种方式将其添加到索引中?这段代码不是与@user1260028的代码完全相同,但更详细吗?在
$
之后,操作代码会出现语法错误!太好了@Blender虽然我知道旧方法可能有效,但问题是如果IDE不接受当前语法,IDE功能将无法正常工作,直到我修复complaint.AFAICT,Node.js和SpiderMonkey(在Firefox中)都不会接受表达式(而不是简单的字符串文字)作为对象文字符号的标签。
$(document).ready(function() {
$(".slate").each(function(){
var data = {};
data[$(this).attr('name')] = "true";
$.get("requests.php", data, function(data){
});
});
});