[英]Passing an object to MVC controller method in AJAX success using window.location
Ajax通话-
$.ajax({
type: "POST",
url: configMap.sitePath + "api/Quiz/" + quizResponse.quizId,
data: JSON.stringify(quizResponse),
success: function(data) {
var resultid = data.data.quizInstanceId;
var resultresponse = data.data;
window.location.href = "supply-chain-pressure/ScptResult/" + resultresponse;
}
控制器方法-
public ActionResult ScptResult(QuizResult resultresponse)
{
// Do something
return View();
}
路线-
routes.MapRoute(
name: "SupplyChainPressureResult",
//url: "supply-chain-pressure/ScptResult/{resultid}",
url: "supply-chain-pressure/ScptResult/{resultresponse}",
defaults: new { controller = "SupplyChainPressure", action = "ScptResult" }
);
类-
public class QuizResult
{
public int quizInstanceId { get; set; }
public string WeakestLinkCode { get; set; }
public string WeakestLinkDescription { get; set; }
public decimal PercentageOfUsers { get; set; }
public IEnumerable<OverallResult> OverallResults { get; set; }
}
但是由于某种原因,在controller方法中resultresponse
为null。 有人可以帮忙吗。 我们需要将data.data
( resultresponse
)传递给控制器Method。
谢谢大家的帮助。 我只使用一个参数,然后重定向到控制器方法,该方法可以为我做这些事情-
$.ajax({
type: "POST",
url: configMap.sitePath + "api/Quiz/" + quizResponse.quizId,
data: JSON.stringify(quizResponse),
success: function (data) {
var resultId = data.data.quizInstanceId;
window.location.href = configMap.sitePath + 'Result-Display/Index/' + resultId;
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.