Javascript 如何将多个值传递给ajax?
现在我有一个值被传递并返回到一个文本框。我想添加多个文本框,并将所有值从控制器传递到ajax函数,以便在加载页面时显示在文本框中Javascript 如何将多个值传递给ajax?,javascript,ajax,html,asp.net-mvc-4,Javascript,Ajax,Html,Asp.net Mvc 4,现在我有一个值被传递并返回到一个文本框。我想添加多个文本框,并将所有值从控制器传递到ajax函数,以便在加载页面时显示在文本框中 Controller: public string GetFormData() { //using Linq query and EF Form form = db.Forms.Find(1); if (form == null) { return "";
Controller:
public string GetFormData()
{
//using Linq query and EF
Form form = db.Forms.Find(1);
if (form == null)
{
return "";
}
else
return form.username;
}
阿贾克斯:
$(“#btnSaveForm”)。单击(函数(事件){
event.preventDefault();
$('#Result2').html(“”);
$.post($(“#frmform”).attr(“操作”),$(“#frmform”).serialize(),函数(结果){
如果(结果!=null){
$('#Result2').html(结果);
}
});
});
您只需要返回JSON结果。考虑这个简单的例子:
型号
public class JSONTestModel
{
public string Name { get; set; }
public bool IsMarried { get; set; }
public int Age { get; set; }
}
控制器
public ActionResult TestJSON()
{
var model = new JSONTestModel()
{
Name = "John Smith",
IsMarried = true,
Age = 35
};
return View(model);
}
[HttpPost]
public ActionResult TestJSON(JSONTestModel model)
{
// YOUR CODE HERE
return Json(model);
}
请注意,post方法返回JSON结果。这将序列化传递给Json的对象
查看
@using (Html.BeginForm())
{
@Html.EditorForModel()
<input id="save-data" type="button" value="Save" />
}
<script type="text/javascript">
$(function () {
$('#save-data').click(function () {
$.post($("form").attr("action"), $("form").serialize(), function (result) {
if (result != null) {
alert('Name - ' + result.Name);
alert('IsMarried - ' + result.IsMarried);
alert('Age - ' + result.Age);
}
});
});
});
</script>
@使用(Html.BeginForm())
{
@Html.EditorForModel()
}
$(函数(){
$(“#保存数据”)。单击(函数(){
$.post($(“表单”).attr(“操作”),$(“表单”).serialize(),函数(结果){
如果(结果!=null){
警报('Name-'+result.Name);
警报('IsMarried-'+result.IsMarried);
警报(“年龄-”+结果.年龄);
}
});
});
});
result
参数是您在控制器中返回的json对象
希望有帮助 如果将新的文本字段放在
标记中,则代码仍然有效。你需要在你的控制器中捕获它们。是的,它确实有效,但我想知道如何为不同的文本框字段向ajax传递不同的值如果你想在ajax中以POST的形式发送自定义字段,你可以这样尝试:$.POST($(“#frmform”).attr(“action”),{'field1':$(“#field1”).val(),'field2':$(“#field1”).val(),函数(结果){…
@using (Html.BeginForm())
{
@Html.EditorForModel()
<input id="save-data" type="button" value="Save" />
}
<script type="text/javascript">
$(function () {
$('#save-data').click(function () {
$.post($("form").attr("action"), $("form").serialize(), function (result) {
if (result != null) {
alert('Name - ' + result.Name);
alert('IsMarried - ' + result.IsMarried);
alert('Age - ' + result.Age);
}
});
});
});
</script>