Ajax 调用未被推送
本文关键字:调用 Ajax | 更新日期: 2023-09-27 18:32:04
我遇到了一个非常奇怪的问题。我的 ajax .post 调用没有被推送,我不知道为什么。它在另一个视图中工作得很好,但这个视图不起作用。我一直在尽最大努力弄清楚,但我真的需要尽快完成这项工作以进行演示。任何帮助都会很棒!
@model ProjectCrux.Models.QuestionLinkToHashtag
@{
ViewBag.Title = "Details";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<script src="~/Scripts/jquery-2.1.1.min.js"></script>
<h2>Details</h2>
@{
var info = ViewBag.SortingPagingInfo;
}
@using(Html.BeginForm("Details", "Question", FormMethod.Post)){
@Html.Hidden("SortField", (string)info.SortField)
@Html.Hidden("SortDirection", (string)info.SortDirection)
@Html.Hidden("PageCount", (int)info.PageCount)
@Html.Hidden("PageSize", (int)info.PageSize)
@Html.Hidden("CurrentPageIndex", (int)info.CurrentPageIndex)
<div>
<h4>Question</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Question.Student.firstName)
</dt>
<dd>
@Html.DisplayFor(model => model.Question.Student.firstName)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Question.question)
</dt>
<dd>
@Html.DisplayFor(model => model.Question.question)
</dd>
</dl>
</div>
<div id="Answers">
<table border="1" cellpadding="10">
@foreach (var item in ViewBag.answers)
{
<tr>
<td>@item.answer</td>
<td>@item.postDate</td>
</tr>
}
<tr>
<td colspan="4">
@for (var i = 0; i < info.PageCount; i++)
{
if (i == info.CurrentPageIndex)
{
<span>@(i + 1)</span>
}
else
{
<a href="#" data-pageindex="@i"
class="pager">@(i + 1)</a>
}
}
<script>
$(document).ready(function () {
$(".pager").click(function (evt) {
var pageindex = $(evt.target).data("pageindex");
$("#CurrentPageIndex").val(pageindex);
evt.preventDefault();
$("form").submit();
});
});
</script>
</td>
</tr>
</table>
<div class="posted">
@Html.EditorFor(model => model.Answers.answer, new { htmlAttributes = new { @class = "answerswerBox" } })
<button type="button" id="button">Post</button>
<script>
$("button").click(function () {
$(".posted").hide();
$.post("Create", $(".posted").serialize(), function (data, status) {
alert("Data: " + data + "'nStatus: " + status);
});
$(".posted").show(1000)
});
</script>
</div>
</div>
<p>
<!--Html.ActionLink("Edit", "Edit", new { id = Model.questionId }) |-->
@Html.ActionLink("Back to List", "Index")
</p>
}
我实现的显示/隐藏功能只是为了检查脚本是否正在执行,确实如此。
你的意思是它不起作用??
您需要在 Web 浏览器中打开此页面,按 F12 .> 打开开发人员工具,转到网络选项卡,并仅过滤掉 XHR 请求。 然后单击该按钮并找到正在发送的请求。 如果请求出现任何问题,.Net 框架将响应 HTML 错误页面。 只要实际上有一个控制器,请求将发送到您,您就会得到某种类型的响应
我个人更喜欢