[英]Continually receiving 400 (Bad Request) on jquery ajax post to MVC controller
[英]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.