【问题标题】:Using Ajax Redirect not working 404 error display console使用 Ajax 重定向不起作用 404 错误显示控制台
【发布时间】:2016-07-19 05:45:28
【问题描述】:

我在我的控制器中使用路由,因为下面的代码是我的问题 ajax 调用未重定向到控制器操作方法 控制器:自定义操作:联系我们

[Route("{id?}/{page?}/{BlogPageId?}")]
[HttpGet]
public ActionResult Index(string id,string page,string BlogPageId)
{
    //some code 
}

这很好,但另一个操作不起作用

[HttpPost]
public JsonResult ContactUs(Contact_Us objContact)
 {

 }

Ajax 调用

$(document).on('click', "#submitCon", function () {      
    var Data = {};
    Data.Full_Name = $("#Full_Name").val();
    Data.Email_id = $("#Email_id").val();
    Data.MobileNumber = $("#MobileNumber").val();
    Data.Company_Name = $("#Company_Name").val();
    Data.Subject = $("#Subject").val();
    Data.Message = $("#Message").val();
    console.log(Data);
    if ((Data.Full_Name == '') || (Data.Email_id == '') || (Data.MobileNumber == '') || (Data.Company_Name == '') || (Data.Subject == '') || (Data.Message == '')) {
        alert("All the fields are mandatory.");
        return false;
    }
    else {
        $.post('/Custom/ContactUs', { objContact: Data }, function (data) {
            swal(data[0]);
            $("#Full_Name, #Email_id, #MobileNumber, #Subject,#Message").val('');
        });
        return false;
    }
})

【问题讨论】:

  • 您想重定向到 ContactUs?你的解释有点难理解
  • 只是$.post('/Custom/ContactUs', Data, function (data) {(但你应该使用'@Url.Action("ContactUs", "Custom")'而不是硬编码网址)
  • 我得到了答案 $.post('/ContactUs', { objContact: Data }, function (data) {} 和控制器操作 [Route("ContactUs/{objContact?}")] [HttpPost] public JsonResult ContactUs(Contact_Us objContact) {}

标签: ajax asp.net-mvc routes


【解决方案1】:

试试这个

HTML (index.cshtml)

<input type="button" value="Test" id="submit" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript">
    $(document).on('click','#submit',function () {
        alert();
        var Data = {};
        Data.Full_Name = "Sabya";
        Data.Email_id = "M.sabya";
        Data.MobileNumber = "9090";
        //Data.Company_Name = "Inkswipe";
        //Data.Subject = "Demo";
        //Data.Message = "Test";
        console.log(Data);
        $.post('/Home/Index', Data ,
            function (data) {
                console.log(data);
                alert(data["Email_id"]);
                //alert(data[0]);
                //$("#Full_Name, #Email_id, #MobileNumber, #Subject,#Message").val('');
            });
        return false;
    });
</script>

控制器(主页)

public ActionResult Index()
{
    return View();
}

[HttpPost]
public JsonResult Index(Contact_Us objContact)
{
    return Json(objContact, JsonRequestBehavior.AllowGet);
}

班级(联系我们)

public class Contact_Us
{
    public string Full_Name { get; set; }
    public string Email_id { get; set; }
    public string MobileNumber { get; set; }
}

希望这会对你有所帮助。

【讨论】:

  • 谢谢。但此代码不适用于“路线”
猜你喜欢
  • 2014-04-20
  • 1970-01-01
  • 2020-04-23
  • 1970-01-01
  • 2020-10-19
  • 2011-03-13
  • 1970-01-01
  • 1970-01-01
  • 2013-01-30
相关资源
最近更新 更多