jquery - 在 index.aspx 页面插入记录后重定向到 ajax 成功函数 Asp.net Ajax
问题描述
在 index.aspx 页面插入记录后重定向到 ajax 成功函数并显示消息 alert("success"); 我编写了函数addProject()
来完成任务。我没有收到任何错误。记录已成功添加到数据库中。但alert("success")
不显示消息。
表格设计
<form id="frmProject" runat="server">
<div>
<label class="form-label">First Name</label>
<input type="text" id="fname" class="form-control" />
</div>
<div class="form-group" align="left">
<label class="form-label">Age</label>
<input type="text" id="age" class="form-control" />
</div>
<div>
<input type="button" id="b1" value="add" class="form-control" onclick="addProject()" />
</div>
</form>
阿贾克斯
function addProject() {
$.ajax({
type: 'POST',
url: 'insert.aspx',
dataType: 'JSON',
data: {fname: $('#fname').val(), age: $('#age').val()},
success: function (data) {
alert("success");
},
error: function (xhr, status, error) {
console.log(xhr.responseText);
}
});
}
插入.aspx
protected void Page_Load(object sender, EventArgs e)
{
string fname = Request.Form["fname"];
string age = Request.Form["age"];
string sql = "insert into record values('" + fname + "','" + age + "')";
SqlCommand cmd = new SqlCommand(sql, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
解决方案
问题是调用insert.aspx
不返回 JSON,但它返回一些 HTML。jQuery 的 ajax 调用dataType: 'JSON'
期望 API 调用的响应将返回一个 JSON 对象。如果响应无法解析为 JSON,success
则不会调用该函数。
在insert.aspx
文件中,您可以返回一个 JSON 对象,即使是一个空对象也足够了。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="insert.aspx.cs" %>
{}
推荐阅读
- mysql - 如何计算 MySQL 表列中不同元素的总数?
- c - 为什么 C 语言允许用户创建名称与预先存在的库函数相同的宏?
- python - Creating python library with dynamic settings based on the source where I import it
- python - Flask is not finding folders and files in Python
- hyperledger-fabric - 基于 Hyperledger Fabric 的 Web 和移动应用程序中的身份验证机制
- visual-studio-code - Prettier auto-correct javascript "import" statement into an one line but then eslitnt 'max-len' rule breaks
- mysql - MySQL 查询说明:当查询有“WHERE”和“ORDER BY”时选择索引
- file - 从文件中解析 OCaml 中的行
- python - 如何更改 __lt__ 魔法方法,以便该算法可以工作?- Python
- javascript - 调用函数对节点 js 错误 400 做出反应