首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery $.post变量Post名称

JQuery $.post变量Post名称
EN

Stack Overflow用户
提问于 2011-09-14 18:10:33
回答 1查看 10.8K关注 0票数 3

jquery ()函数有问题。我有几个按钮,并且使用一个post函数来处理所有的按钮。我似乎无法让可变的post名称起作用。

我的代码如下:

JS

注意:“编辑器”变量是设置在我的应用程序init上并且已经存在于此代码范围内的变量。

代码语言:javascript
复制
controls.find('button').live('click',function(){

     //determine what button is clicked
     var action  = this.className;

     $.post("actions.php",action: editor);
     //functions run after post
});

变量似乎没能通过。当我将变量更改为字符串时,它工作得很好。我还尝试在操作变量上运行toString();函数,没有任何更改。

任何想法都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2011-09-14 18:22:13

这是无效的JavaScript:

代码语言:javascript
复制
action: editor

如果editor是代码中其他地方定义的变量,那么您可能试图发送一个对象:

代码语言:javascript
复制
{ action: editor }

其中,对象有一个名为"action“的属性,其值与editor相同。在这种情况下:

服务器被发送到“前面定义的editor".

  • Your action变量的action=value”的post正文,而不是发送给服务器.

帖子体通常采用"key1=value1&key2=value2“的形式。jQuery接受一个被翻译成post体的对象。这样的对象看起来像{ key1: "value1", key2: "value2" }。所以你的电话看起来是:

代码语言:javascript
复制
$.post("url.php", { key1: "value1", key2: "value2" });

或者,如果为值定义了变量:

代码语言:javascript
复制
$.post("url.php", { key1: value1, key2: value2 });

在这里猜..。也许你想要的是:

代码语言:javascript
复制
$.post("actions.php", { action: action, editor: editor });

编辑:基于你的评论,,也许这就是你想要的:

代码语言:javascript
复制
var postData = {};
postData[action] = editor;
$.post("actions.php", postData);

没有从变量中指定属性名称的对象字面语法。你必须像上面那样用方括号符号来做这件事。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7420950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档