Javascript 使用ajax将函数写入$\u POST
我想创建一个函数,这样我就可以使用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
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您可能需要名为cat和bengal的变量,以便怀疑您确实想要使用
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
});
}
好极了!很乐意帮忙。