簡體   English   中英

ASP MVC 6 AJAX錯誤請求

[英]ASP MVC 6 AJAX Bad Request

我的意圖是更新數據庫,而無需在用戶提交數據時完全重新加載用戶所在的當前頁面,而只是彈出一個提示成功或失敗或類似信息的消息框。

我有以下JS函數,當用戶單擊按鈕時會調用該函數。

function saveListItem(formID)
{
    alert('JS function fired.');
    var _form = $('#mainForm' + formID)
    var _formData = _form.serialize();

    $.ajax({
        dataType: "json",
        type: "POST",
        url: "/Postings/listItemSubmitted",
        contentType: "application/json; charset=utf-8",
        data: { type: "test" },
        success: function () {
            alert("success");
        },
        error: function (xhr, status, error)
        {
            alert(error.toString());
        }
    });
}

這是控制器動作:

[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult listItemSubmitted([FromBody] string type)
{
    type += "!!!";
    return Json(type);
}

如您所見,我有一些變量供以后實際使用。 但就目前而言,我只是試圖使此測試起作用。 問題在於控制器中的動作甚至不會觸發。 錯誤警告提示我“錯誤請求”。

我檢查了名稱,所有名稱都是正確的(控制器是PostingsController.cs,方法名稱是listItemSubmitted)。 我已經嘗試了URL語法中單詞前后的斜杠的每種組合。 我什至嘗試使用@ Url.Action方法,無論如何都會給我該字符串,所以我知道它是正確的。

我不知道還能嘗試什么。 有人知道發生了什么嗎?

我認為您在控制器中用作過濾器的ValidateAntiForgeryToken存在問題。 您必須將相關的輸入值和數據發送到服務器。 嘗試刪除此過濾器。

暫無
暫無

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

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