根据页面上的交互流程,我对ajax有几个变体。但它只是变化的变量。这是其中之一:
$('#btn_skickaEnkel').bind('click', function () {
$.ajax({
type: 'POST',
url: '/Contact/IntresseAnmälan/',
dataType: 'json',
data: {
Namn: $('#namn').val(),
Mail: $('#mail').val(),
Info: $('#meddelande').val(),
Nivå: $('#nivå').find(":selected").text(),
IsEnkel: true,
Telefon: $('#nr').val(),
ID: function () {
var url = window.location.pathname;
var id = url.substring(url.lastIndexOf('/') + 1);
return id;
}
},
traditional: true
});
});
在我的控制器中,我无法重定向或返回其他视图。此时,来自JSON的数据不再相关,因为它已经保存到DB。
我的控制器:
public ActionResult IntresseAnmälan(BokningContainer bokning)
{
db = new DbContext();
//Saving some data to database(removed)
//Just determening the state of container obj.
if (bokning.IsEnkel)
{
//Geting som information from db (removed)
//Creating a mail (removed)
email.Send(bokning.Namn, bokning.Mail, body);
}
else
{
}
//db.SaveChanges();
//This part is not working, I think it's beacuase of the Ajax
return View("IntresseAnmälan");
}
视图未呈现,我认为它与ajax有关。视图根本不呈现。有没有办法迫使它返回并忽略ajax?正如我所说,不再需要数据,因为内容已经保存到数据库中。
答案 0 :(得分:0)
您无法在ajax调用上呈现视图,只需使用表单发布方法或只是将其重定向到ajax调用的“succcess”所需的操作,如下所示:
$('#btn_skickaEnkel').bind('click', function () {
$.ajax({
type: 'POST',
url: '/Contact/IntresseAnmälan/',
dataType: 'json',
data: {
Namn: $('#namn').val(),
Mail: $('#mail').val(),
Info: $('#meddelande').val(),
Nivå: $('#nivå').find(":selected").text(),
IsEnkel: true,
Telefon: $('#nr').val(),
ID: function () {
var url = window.location.pathname;
var id = url.substring(url.lastIndexOf('/') + 1);
return id;
}
},
traditional: true,
success: function(result) {
window.location.href = '@Url.Action("action", "Controller")';
}
});
});
答案 1 :(得分:0)
抱歉花时间。