Ajax post 返回数据到地址栏
Ajax post returning data to address bar
所以我遇到了 ajax POST 的问题,它正在 return 将数据发送到地址栏,就好像它在执行获取请求一样,但我只每指定做一个POST。有趣的是,当我将它推送到我的 git 存储库时,这段代码正在运行。我在测试一个新的提交时注意到了这个问题,所以我又回到这个提交,这个问题在以前出现了,但以前没有。
我的提交javascript功能
function SubmitForm(form) {
if ($(form).valid()) {
$.ajax({
type: "POST",
url: form.action,
data: $(form).serialize(),
success: function(data) {
if (data.success) {
Popup.dialog('close');
dataTable.ajax.reload();
$.notify(data.message,
{
globalPosition: "bottom center",
className: "success"
});
}
}
});
}
return false;
}
我的表格指示符
<form>
@using (Html.BeginForm("AddOrEdit", "Agency", FormMethod.Post, new {onsubmit = "return SubmitForm(this)"}))
在 post 上,表单应该 运行 上面的那段 JS,但它只会执行 get 请求,正如我之前所说,这段代码有效。
POST 应该 post 将数据发送到我的控制器中的一个方法,但它现在永远不会那么远。我已经尝试从提交 JS 的顶部进行调试,一旦我打开页面,调试器首先到达这里:
function Delete(id) {
if (confirm("Are you sure you wish to delete this item?")) {
$.ajax({
type: "POST",
url: '@Url.Action("Delete", "Agency")/'+id, //<- here
success: function(data) {
if (data.success) {
dataTable.ajax.reload();
$.notify(data.message,
{
globalPosition: "bottom center",
className: "success"
});
}
}
});
}
}
具体
url: '@Url.Action("Delete", "Agency")/'+id,
但是删除功能工作正常。它更改了传递的 id 的布尔值,因为它是软删除,其中元组被标记为已删除或未删除。
我完全不知道为什么会出现这个问题。非常感谢任何帮助。
您的 BeginForm()
位于 <form>
元素内(嵌套形式无效 html),其外部形式(默认情况下为 GET)正在提交,不是内部形式(因此您的 SubmitForm()
脚本永远不会执行)。
删除外部 <form>
表单元素。
所以我遇到了 ajax POST 的问题,它正在 return 将数据发送到地址栏,就好像它在执行获取请求一样,但我只每指定做一个POST。有趣的是,当我将它推送到我的 git 存储库时,这段代码正在运行。我在测试一个新的提交时注意到了这个问题,所以我又回到这个提交,这个问题在以前出现了,但以前没有。
我的提交javascript功能
function SubmitForm(form) {
if ($(form).valid()) {
$.ajax({
type: "POST",
url: form.action,
data: $(form).serialize(),
success: function(data) {
if (data.success) {
Popup.dialog('close');
dataTable.ajax.reload();
$.notify(data.message,
{
globalPosition: "bottom center",
className: "success"
});
}
}
});
}
return false;
}
我的表格指示符
<form>
@using (Html.BeginForm("AddOrEdit", "Agency", FormMethod.Post, new {onsubmit = "return SubmitForm(this)"}))
在 post 上,表单应该 运行 上面的那段 JS,但它只会执行 get 请求,正如我之前所说,这段代码有效。
POST 应该 post 将数据发送到我的控制器中的一个方法,但它现在永远不会那么远。我已经尝试从提交 JS 的顶部进行调试,一旦我打开页面,调试器首先到达这里:
function Delete(id) {
if (confirm("Are you sure you wish to delete this item?")) {
$.ajax({
type: "POST",
url: '@Url.Action("Delete", "Agency")/'+id, //<- here
success: function(data) {
if (data.success) {
dataTable.ajax.reload();
$.notify(data.message,
{
globalPosition: "bottom center",
className: "success"
});
}
}
});
}
}
具体
url: '@Url.Action("Delete", "Agency")/'+id,
但是删除功能工作正常。它更改了传递的 id 的布尔值,因为它是软删除,其中元组被标记为已删除或未删除。
我完全不知道为什么会出现这个问题。非常感谢任何帮助。
您的 BeginForm()
位于 <form>
元素内(嵌套形式无效 html),其外部形式(默认情况下为 GET)正在提交,不是内部形式(因此您的 SubmitForm()
脚本永远不会执行)。
删除外部 <form>
表单元素。