gpt4 book ai didi

javascript - 如何在 Ajax 响应中访问模型数据

转载 作者:行者123 更新时间:2023-11-30 15:58:36 24 4
gpt4 key购买 nike

我有两种形式,考虑 Form1 和 Form2,它们都只是 MVC 形式。这些表单使用两种不同的 View 模型,如下所示:

public class Form1ViewModel
{
//some public properties

public string QueryString { get; set; }
}


public class Form2ViewModel
{
//some public properties

public string PreviousQueryString { get; set; }
}

在 Controller 的 Post Action 中,我是这样写的:

[HttpPost]
public ActionResult ProcessForm1(Form1ViewModel form1Obj)
{
//some logic goes here

//I'm preparing Querystring from form1 data and appending to Form2 model like

Form2ViewModel form2Obj=new Form2ViewModel();
form2Obj.PreviousQueryString = form1Obj.QueryString;

return View("Form2",form2Obj) ;
}

在 Form1 中,我通过 Jquery Ajax 提交

 frm.submit(function(ev) {
var formData = frm.serialize();
$.ajax({
type: "POST",
url: 'ControllerName/ProcessForm1',
data: formData,
success: function(response) {
//Here i need to read the PreviousQueryString and need to push to window.history.pushState()
}
error: function() {}
});
});

在 Ajax 成功时,我需要从响应中读取 PreviousQueryString。

我知道如何在客户端进行(使用纯 JS),但这是我的要求。

我该怎么做?

最佳答案

试试这个

[HttpPost]
public string ProcessForm1(Form1ViewModel form1Obj)
{
JavaScriptSerializer js = new JavaScriptSerializer();
Form2ViewModel form2Obj=new Form2ViewModel();
form2Obj.PreviousQueryString = form1Obj.QueryString;
return js.Serialize(form2Obj);
}

success: function(response) {
var objResponse = $.parseJSON(response);
if (objResponse.PreviousQueryString != "") {
alert(objResponse.PreviousQueryString);
}
}

关于javascript - 如何在 Ajax 响应中访问模型数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38094788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com