如何在ajax调用的参数中传递变量。以下是澄清我的问题的例子: -
function updateSingleParameters(name,varName, varValue)
{
$.ajax({
type: 'POST',
url:name,
data: {
varName: varValue
},
success: function(data, status){
alert("Data: " + data + "\nStatus: " + status);
}
});
我还需要将varName视为变量,但在执行脚本时它被视为常量。
请建议。
提前致谢。
答案 0 :(得分:2)
使用[]
语法创建一个对象并使用varName变量设置属性名称。
function updateSingleParameters(name,varName, varValue)
{
var data = {};
data[varName] = varValue;
$.ajax({
type: 'POST',
url:name,
data: data,
success: function(data, status){
alert("Data: " + data + "\nStatus: " + status);
}
});
}
答案 1 :(得分:0)
基本思想是创建一个对象并使用括号表示法设置键。
var data = {};
data[varName] = varValue;
$.ajax({
type: 'POST',
url:name,
data: data,
success: function(data, status){
alert("Data: " + data + "\nStatus: " + status);
}
});
答案 2 :(得分:0)
在你的功能中,我想如果你这样做:
function updateSingleParameters(name,varName, varValue)
{
var passToAjax = varValue;
$.ajax({
type: 'POST',
url:name,
data: {
varName: passToAjax
},
success: function(data, status){
alert("Data: " + data + "\nStatus: " + status);
}
});
我认为它会更好。但我也需要看到你的HTML,以确保它是问题所在。此外,您发送ajax的文件。
答案 3 :(得分:0)
单独构造对象。
function updateSingleParameters(name,varName, varValue)
{
var obj = {};
obj[varName] = varValue;
$.ajax({
type: 'POST',
url:name,
data: obj,
success: function(data, status){
alert("Data: " + data + "\nStatus: " + status);
}
});