Javascript 使用Jquery、AJAX从视图(html页面)调用api时,POST方法在.NET核心MVC中不起作用?
我在.net core mvc项目中使用api执行CRUD操作,并使用列表存储所有数据,而不是数据库。我想使用jquery和ajax直接从html页面调用api。但现在我一直使用编辑操作(这是一种POST方法)。在“编辑”页面中,当我单击“保存”按钮时,它只是刷新页面,什么也没有发生 这是用于编辑的视图页面中的jquery、ajaxgievnJavascript 使用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
@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>