如何在ajax中传递多个参数

时间:2014-03-25 08:17:02

标签: ajax asp.net-mvc-3 asp.net-ajax

我想通过ajax调用传递多个参数。

Ajax功能: -

$.ajax({
            url: 'Home/SaveData',
            type: 'POST',
            data: {"data" : data + "id" : 1}, //<-- I want to send data and id  
            dataType: "application/JSON",
            success: function (result) {
                alert("Success");


            },
            error: function (result) {
                data.str = null;
                alert("Error");


            },
        });

    }

-----控制器

[HttpPost]         public JsonResult SaveData(string data,int id)
        {             foreach(数据中的字符串s .Split(&#39;,&#39;))             {                 if(!string.IsNullOrEmpty(s))                 {                     //在这里执行你的操作                 }             }

        return Json("");


    }

此致 VINIT

3 个答案:

答案 0 :(得分:2)

将数据设置为JSON对象时,需要使用逗号而不是加号使其成为键值对的有效对象:

$.ajax({ url: 'Home/SaveData', 
type: 'POST',
data: {"data" : data, "id" : 1},
dataType: "application/JSON", success: function (result) { alert("Success");    
        },
        error: function (result) {
            data.str = null;
            alert("Error");
        },
    });
}

现在应该绑定到两个动作参数。

答案 1 :(得分:1)

使用$ .ajax时,您可以看到它使用javascript对象来处理所有内容。 您设置的data属性需要另一个javascript对象。

 data:{data:data, id:id}

 $.ajax({
 type: "POST",
 url: "http://example.url.tosendto",
 data: { data: data, id: id} // Data property of the object wants another javascript object
 })
 .done(function( msg ) {
 alert( "Data Saved: " + msg );
 });

答案 2 :(得分:0)

你可以尝试

data: "data=" + data + "&id=1",