簡體   English   中英

Ajax發布未從MVC控制器接收JSON

[英]Ajax post is not receiving json from mvc controller

我的javacript看起來像這樣:

namespace ContactPage {
$(() => {

    //contact info
    let $firstName = $('#first-name'), $lastName = $('#last-name'), $email = $('#email');
    //form
    let $form = $('#main-form');
    $form.submit(() => {
        let data = $form.serialize();
        var post = $.post('/contact', data, function () {
            console.log('posted');
        });

        post.done(function (data) {
            console.log('done', data);
        })
        .fail(function (data) {
            console.log('fail', data);
        })
        .always(function (data) {
            console.log('always', data);
        });
    });
});

}

MVC .net C#控制器成功接收了數據(如下所示的代碼),但是javascript不等待響應,瀏覽器最終顯示了Json。 我想念什么?

    [HttpPost]
    public ActionResult Index(ContactModel model)
    {
        var cl = seretContext.ContactLogs.Create();

        cl.Email = model.email;
        cl.Comment = model.message;

        seretContext.Set<ContactLog>().Add(cl);
        seretContext.SaveChanges();

        return Json(new { redirectTo = "/" });
    }

並且cshtml具有一個提交按鈕,如下所示:

<div class="text-center">
                <button id="orderForm" class="btn btn-success btn-lg" type="submit" >Send</button>
            </div>

瀏覽器立即顯示原始Json ...而不是接收Json,以便可以對其進行處理。

瀏覽器顯示{“ redirectTo”:“ /”}

您可以嘗試這樣的方法來捕獲所有可能的結果嗎?

var post = $.post('/contact', function(){
    console.log('posted');
});

post.done(function(data) {
    console.log('done', data);
})
.fail(function(data) {
    console.log('fail', data);
})
.always(function(data) {
    console.log('always', data);
});

原來是一個非常愚蠢的錯誤-我很抱歉-表單的ID拼寫錯誤,因此javascript甚至沒有得到該表單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM