在asp.net mvc 5中连接到远程数据库时,Jquery ajax调用失败
大家好, 我在cshtml文件中有一个jqueryajax方法,它从服务器检索数据并在模式对话框中显示。方法如下:在asp.net mvc 5中连接到远程数据库时,Jquery ajax调用失败,jquery,ajax,asp.net-mvc,Jquery,Ajax,Asp.net Mvc,大家好, 我在cshtml文件中有一个jqueryajax方法,它从服务器检索数据并在模式对话框中显示。方法如下: $("#flowButton").click(function () { debugger; var $buttonClicked = $(this); var id = $buttonClicked.attr('data-id'); var options = { "backdrop": "static", keyboard: true };
$("#flowButton").click(function () {
debugger;
var $buttonClicked = $(this);
var id = $buttonClicked.attr('data-id');
var options = { "backdrop": "static", keyboard: true };
$.ajax({
type: "GET",
url: '@Url.Action("GetSentEntryFlow", "Inbox")',
contentType: "application/json; charset=utf-8",
data: $('#inboxSentForm').serialize(),
datatype: "json",
success: function (data) {
debugger;
$('#flowModalContent').html(data);
$('#flowModal').modal(options);
$('#flowModal').modal('show');
},
error: function () {
alert("Dynamic content load failed.");
}
});
});
当我使用LocalDB数据源时,这可以正常工作,但是当我将连接字符串更改为使用远程数据库时,会显示错误消息。我知道到远程数据库的连接是正常的,因为项目的其他部分都可以使用它,只有这种方法失败
我的视图代码如下:
@foreach (var itemGroup in Model.Entries)
{
int childCount = itemGroup.Count();
<tr>
<td class="text-center">
@Html.Hidden(string.Format("sentEntries[{0}].Id", rowNumber - 1), itemGroup.First().Id, new { @id = string.Format("sentEntries[{0}].Id", rowNumber - 1) })
@Html.CheckBox(string.Format("sentEntries[{0}].Selected", rowNumber - 1), itemGroup.First().Selected, new { @id = string.Format("sentEntries[{0}].Selected", rowNumber - 1) })
</td>
<td>
@(rowNumber++)
</td>
<td>
@Html.DisplayFor(modelItem => itemGroup.First().EntryType.TypeFA)
</td>
<td>
@itemGroup.First().GetEntrySubject()
</td>
</tr>
foreach (var item in itemGroup.Skip(1))
{
<tr>
<td class="text-center">
@Html.Hidden(string.Format("sentEntries[{0}].Id", rowNumber - 1), item.Id, new { @id = string.Format("sentEntries[{0}].Id", rowNumber - 1) })
@Html.CheckBox(string.Format("sentEntries[{0}].Selected", rowNumber - 1), item.Selected, new { @id = string.Format("sentEntries[{0}].Selected", rowNumber - 1) })
</td>
<td>
@(rowNumber++)
</td>
<td>
@Html.DisplayFor(modelItem => item.EntryType.TypeFA)
</td>
<td>
@item.GetEntrySubject()
</td>
</tr>
}
}
HTTP404: NOT FOUND - The server has not found anything matching the requested URI (Uniform Resource Identifier). (XHR)GET - http://localhost:51527/Inbox/GetSentEntryFlow?__RequestVerificationToken=-jXt8frpCtnoDPMwd9eo1DUYn7T3ud6BVjsCGukmu7KwMnkgV-i26zKt68b5MIUOqrwkb__otyTvEKprDHAktqJl_T0sQuyS5WPSdX0ET8xx7RggVuDaz45Z_xE1a5OR7cQ5DAfTR4ygt3TmSZJ8fw2&dt_inbox_length=50&EntryTypeFilterInput=&EntryTypeFilterSelect=&EntryActionTypeFilterInput=&EntryActionTypeFilterSelect=&EntryPriorityFilterInput=&EntryPriorityFilterSelect=&sentEntries%5B0%5D.Id=0ff4995d-61da-4896-a30b-ce597090a26b&sentEntries%5B0%5D.Selected=true&sentEntries%5B0%5D.Selected=false&sentEntries%5B1%5D.Id=4274317e-59f4-4f06-8527-d7976f061b3d&sentEntries%5B1%5D.Selected=false
当前窗口:本地主机/收件箱/已发送
你知道是什么导致了这个问题吗?
提前感谢感谢nurdyguy帮助我找到错误详细信息,我找到了解决方案。错误的原因是远程数据库包含更多的记录,并且项目未配置为允许任何长度的请求。因此,我搜索了错误并找到了以下链接,该链接告诉我如何更改web.confing以允许:
当您单步通过控制器时,会收到什么错误消息?如果您单击请求并查看响应,您还可以在“网络”选项卡上看到堆栈跟踪。代码执行根本不会到达控制器。它在jquery处停止。我将把jquery错误添加到帖子中。你能创建一个.net小提琴吗?那么,仅仅改变dbs是不可能导致404的。仔细检查所有正在运行的(编译和旋转),然后检查以确保您没有在其他地方做任何更改。如果您的请求真的那么长,那么您可以考虑发送<代码> POST <代码>请求,而不是<代码>获取< /代码>。
HTTP404: NOT FOUND - The server has not found anything matching the requested URI (Uniform Resource Identifier). (XHR)GET - http://localhost:51527/Inbox/GetSentEntryFlow?__RequestVerificationToken=-jXt8frpCtnoDPMwd9eo1DUYn7T3ud6BVjsCGukmu7KwMnkgV-i26zKt68b5MIUOqrwkb__otyTvEKprDHAktqJl_T0sQuyS5WPSdX0ET8xx7RggVuDaz45Z_xE1a5OR7cQ5DAfTR4ygt3TmSZJ8fw2&dt_inbox_length=50&EntryTypeFilterInput=&EntryTypeFilterSelect=&EntryActionTypeFilterInput=&EntryActionTypeFilterSelect=&EntryPriorityFilterInput=&EntryPriorityFilterSelect=&sentEntries%5B0%5D.Id=0ff4995d-61da-4896-a30b-ce597090a26b&sentEntries%5B0%5D.Selected=true&sentEntries%5B0%5D.Selected=false&sentEntries%5B1%5D.Id=4274317e-59f4-4f06-8527-d7976f061b3d&sentEntries%5B1%5D.Selected=false