【发布时间】:2019-09-19 20:45:36
【问题描述】:
当我单击一个按钮时,我正在尝试进行 AJAX 调用。我的程序应该向服务器发送请求以获取一些数据并将其显示在页面上。为了简单起见,我首先需要了解如何使 AJAX 调用正常工作。我尝试了以下方法:
我在 ASP.Net MVC5 C# 中的控制器:
[HttpPost]
public string MyMethod(int somePara)
{
return "it worked";
}
我的 AJAX 调用:
$("button#test").on("click", function() {
$.ajax({
type: "POST",
url: loc + "/MyMethod",
data: somePara = "",
success: function(data) {
alert(data);
},
error: function() {
alert("Error")
}
});
});
<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<button class="btn btn-default btn-lg btn-block" id="test">
<span class="glyphicon glyphicon-time"></span>
Test
</button>
(AJAX 调用中的 loc 字段将定义我的控制器。)
当我在本地运行此代码时,我的 AJAX 调用将返回错误部分。
我应该改变什么?有没有办法可以检测到为什么会发生这种情况?
【问题讨论】:
-
是的,检查你的控制台
-
它会说
POST https://localhost:[portnumber]/MyController/MyMethod 500@JuniusL。 -
这是内部服务器错误,这意味着您的后端发生了一些事情
-
请先记录您的网址并检查是否正确
-
'data: somePara = "",' 对我来说看起来不正确,你不应该把它串起来吗?或者至少把它放在 json 上下文中
标签: javascript jquery ajax asp.net-mvc-5