在ajax call

时间:2015-06-05 19:50:36

标签: jquery ajax

如何在ajax调用的参数中传递变量。以下是澄清我的问题的例子: -

function updateSingleParameters(name,varName, varValue)
{
$.ajax({
    type: 'POST',
    url:name,
    data: {
        varName: varValue
    },
    success: function(data, status){
        alert("Data: " + data + "\nStatus: " + status);
    }

});

我还需要将varName视为变量,但在执行脚本时它被视为常量。

请建议。

提前致谢。

4 个答案:

答案 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);
    }

});