使用Razor和AJAX从表单POST返回一个值

本文关键字:一个 返回 POST Razor AJAX 表单 使用 | 更新日期: 2023-09-27 18:16:53

我有一个简单的,一个字段的html形式,我张贴的值到服务器端脚本(用Razor编写)使用AJAX。表单用户必须猜测一个特定的值,并将根据正确与否收到一条消息。

是否可以使用下面描述的方法返回消息?理想情况下,我希望从服务器端脚本返回变量"message",并在前端向用户显示该值。

我的HTML:

<form>
    <input type="text" id="value" name="value" />
    <button>Send</button>
</form>

My Ajax call:

$(document).on("click", "button", function(e){
    e.preventDefault(); 
    var dataString = "value=" + $("#value").val();
    $.ajax({
        type: "POST",
        url: "/post",
        data: dataString,
        success: function(data) {
            alert(data.returnedValue);
        }
    });         
});

服务器端脚本:

if(IsPost)
{
    string value = Request.Form["value"];
    string message = "";
    if(value.ToString() == "CorrectAnswer"){
        message = "Correct!";
        return message;
    }else{
        message = "Wrong!";
        return message;
    }
}

使用Razor和AJAX从表单POST返回一个值

如果您的服务器页面是Asp.net页面(.aspx),您可能需要使用Response.Write

    string value = Request.Form["value"];
    string message = "";
    if(value.ToString() == "CorrectAnswer"){
        message = "Correct!";
        return message;
    }else{
        message = "Wrong!";
    }
   Response.Write(message );

同样,这不是一个回发事件。所以你不需要检查

和脚本中的

success: function(data) {
            alert(data);
        }