Javascript 使用Jquery、AJAX从视图(html页面)调用api时,POST方法在.NET核心MVC中不起作用?

Javascript 使用Jquery、AJAX从视图(html页面)调用api时,POST方法在.NET核心MVC中不起作用?,javascript,jquery,asp.net-core-mvc,asp.net-ajax,asp.net-core-webapi,Javascript,Jquery,Asp.net Core Mvc,Asp.net Ajax,Asp.net Core Webapi,我在.net core mvc项目中使用api执行CRUD操作,并使用列表存储所有数据,而不是数据库。我想使用jquery和ajax直接从html页面调用api。但现在我一直使用编辑操作(这是一种POST方法)。在“编辑”页面中,当我单击“保存”按钮时,它只是刷新页面,什么也没有发生 这是用于编辑的视图页面中的jquery、ajaxgievn @section Scripts{ <script> var id = localStorage.getItem("e

我在.net core mvc项目中使用api执行CRUD操作,并使用列表存储所有数据,而不是数据库。我想使用jquery和ajax直接从html页面调用api。但现在我一直使用编辑操作(这是一种POST方法)。在“编辑”页面中,当我单击“保存”按钮时,它只是刷新页面,什么也没有发生

这是用于编辑的视图页面中的jquery、ajaxgievn

@section Scripts{
    <script>
        var id = localStorage.getItem("empid");
            $.ajax({
            contentType: "application/json",
            type: "GET",
            url: "https://localhost:44347/api/Values/Edit/" + id,
            success: function (data) {

                $('#id').val(data.id)
                $('#fname').val(data.fname)
                $('#lname').val(data.lname)
                $('#location').val(data.location)
                $('#contact').val(data.contact)
                $('#email').val(data.email)
                $('#password').val(data.password)
                $('#roles').val(data.roles)
            },
            error: function (jqXHR, textStatus, errorThrown) {
                alert("alertt");
                $("#postResult").val(jqXHR.statusText);
            }

        });

       $('#save').click(function () {
             var obj = {};

            obj.id = $('#id').val();
            obj.fname = $('#fname').val();
            obj.lname = $('#lname').val();
            obj.location = $('#location').val();
            obj.contact = $('#contact').val();
            obj.email = $('#email').val();
            obj.password = $('#password').val();
            obj.roles = $('#roles').val();
        $.ajax({

            type: "POST",
            url: "https://localhost:44347/api/Values/Save",
              contentType: "application/json; charset=utf-8",

                data: JSON.stringify(obj),
            success: function (data) {

              window.location.href = "/Home/Details/";
            },
            error: function (jqXHR, textStatus, errorThrown) {
                alert("Error occured");
                $("#postResult").val(jqXHR.statusText);
            }

             });
        });
    </script>
}

html按钮的类型属性默认为“提交”,请将按钮类型更改为“按钮”以解决刷新问题

<button type="button">...</button>
。。。

使用这个,看看它是否有效

寄存器
身份证件
文件名
名字
位置
接触
电子邮件
密码
角色
拯救
@节脚本{
var id=localStorage.getItem(“empid”);
$.ajax({
contentType:“应用程序/json”,
键入:“获取”,
url:“https://localhost:44347/api/Values/Edit/“+id,
成功:功能(数据){
$('#id').val(data.id)
$('#fname').val(data.fname)
$('#lname').val(data.lname)
$('#location').val(data.location)
$('#contact').val(data.contact)
$('#email').val(data.email)
$('#password').val(data.password)
$('#roles').val(data.roles)
},
错误:函数(jqXHR、textStatus、errorshown){
警报(“警报”);
$(“#postResult”).val(jqXHR.statusText);
}
});
它只是刷新页面,什么也没有发生-通常情况下,当您有一个表单,并且认为仅仅向单击/提交操作中添加javascript不会执行常规表单提交时,就会发生这种情况…您需要防止默认事件处理…例如,
$('#save')。单击(函数(e){e.perventdault();其余代码
-或添加
$('form').submit(函数(e){e.perventDefault();}
<button type="button">...</button>