Javascript 使用ajax将函数写入$\u POST

Javascript 使用ajax将函数写入$\u POST,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我想创建一个函数,这样我就可以使用ajax发送$\u POST了。 我编写了这样的代码,但它不起作用 function send(variable, value){ var e = value; bar = variable; $.ajax({ type: 'POST', url: "vote.php", data: {bar:e}, success:functio

我想创建一个函数,这样我就可以使用ajax发送$\u POST了。 我编写了这样的代码,但它不起作用

function send(variable, value){
      var e = value;
      bar = variable;
      $.ajax({
            type: 'POST',
            url: "vote.php",
            data: {bar:e},
            success:function(){
            console.log(e);
            }
        });
  }
我可以看出问题在于数据{bar}没有得到变量值。 当我编写函数时,如何使其能够获得
$\u POST['dog']=corgi

send(dog, corgi)
当我写作时,
$\u POST['cat']=bengal

send(cat, bengal)

像这样创建的对象不会将变量解释为属性名称,因此
bar
作为对象的属性实际上是
“bar”
。您需要创建一个对象,并使用括号中的变量表示法动态设置属性

例子:
对亚历山大的回答投了赞成票——认为他在技术上是正确的

两个观察结果:在您的示例中,您声明要使用

send(cat, bengal)
send('cat', 'bengal')
Obv您可能需要名为catbengal的变量,以便怀疑您确实想要使用

send(cat, bengal)
send('cat', 'bengal')
可能只是你原来问题中的一个打字/疏忽

另一方面(我意识到这并不能直接回答OP),一种更确定的方法和更接近JS的良好实践是使用$.extend并将一个“options”对象交给:

send({cat : "bengal"})
和内部使用:

function send(options){
  var defaultData = {}; // your defaults here (can be closured off somewhere else other than here if you need to)

  $.ajax({
        type: 'POST',
        url: "vote.php",
        data: $.extend({}, defaultData, options || {}) // handle when you dont hand in options with the '|| {}' bit
    });
}


好极了!很乐意帮忙。