使用ajax向$_POST编写函数
writing a function to $_POST using ajax
我想创建一个函数,这样我就可以使用ajax发送$_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}没有得到变量值。当我写函数时,我如何才能得到$_POST['dog'] = corgi
send(dog, corgi)
和写时的$_POST['cat'] = bengal
send(cat, bengal)
bar
作为对象的属性实际上是"bar"
。您需要创建一个对象,并使用括号中的变量表示法动态设置属性。
示例:
function send(variable, value){
var e = value;
var data = {};
data[variable] = value;
$.ajax({
type: 'POST',
url: "vote.php",
data: data,
success:function(){
console.log(e);
}
});
}
支持亚历山大的回答-认为他在技术上是正确的。
两个观察结果:在您的示例中,您表示要使用
send(cat, bengal)
如果您需要名为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
});
}
HTH
相关文章:
- jQuery$.post TypeError:e.type不是函数
- jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
- 如何将多个onError函数分配给promise(由angular's$http.post返回)
- $http.post undefined 不是函数
- $http.post() angularjs 响应函数未按正确的顺序执行
- 来自函数的返回对象在 jQuery 中未从 $.post 定义
- 使用 PHP 生成的按钮生成 POST 请求,这些按钮调用带有参数的 javascript 函数
- 从类方法中的 ajax post 函数回调函数更改 javascript 类属性
- j查询如何在加载了 load() 函数的页面上进行 POST/AJAX,而无需刷新页面
- Ajax Post-Submit函数提交两次
- 从一个函数传递到另一个函数的变量在使用jQuery的.post之后变得未定义
- 在计算AJAX POST函数时遇到问题
- 将post数据传递给php函数
- jQuery通过父函数返回$.post回调
- AJAX POST函数未上载文件
- 如何将inputtextbox的值及其id传递给javascript函数,使其通过ajax进行post请求
- 未捕获的引用错误:函数 Post() 未定义
- 带有.remove的jQuery函数$.post
- Javascript函数post和调用php脚本
- PHP致命错误:在非对象上调用成员函数post()