【发布时间】:2021-01-20 22:38:58
【问题描述】:
我正在开发一个需要使用 jQuery ajax 将数据提交到 SQL Server 数据库的项目。我习惯于使用回发提交数据。当我尝试提交时,我不断收到提交错误!在 jQuery 文件中而不是成功的消息和数据没有插入。请问我做错了什么?另外,请在下面找到我的 aspx 页面、jQuery 脚本、asmx 中的类和 webmethod:
我的 ASPX 页面:
<div id="sf6" class="frm" style="display: none;">
<fieldset>
<legend>Bank Account Information [Step 6 of 7]</legend>
<div class="form-group">
<%--<label class="col-lg-2 control-label" for="uname">Subject 1: </label>--%>
<div class="col-lg-10">
<div style="color: #b94a48; font-weight: bold; font-size: 14px; background-color: #f2dede; border: #eed3d7 1px solid; padding: 10px; margin-top: 5px; margin-bottom: 5px;">
<p>
<b>Important Info:</b>PLEASE SUPPLY YOUR PERSONAL ACTIVE ACCOUNT DETAILS.
</p>
</div>
</div>
</div>
<div class="clearfix" style="height: 10px; clear: both;"></div>
<div class="clearfix" style="height: 10px; clear: both;"></div>
<div class="form-group">
<label class="col-lg-2 control-label" for="uname">Bank: </label>
<div class="col-lg-6">
<asp:DropDownList ID="ddlbankname" runat="server" Height="30px" Width="330px">
<asp:ListItem>--Select Bank--</asp:ListItem>
<asp:ListItem>Access Bank Plc</asp:ListItem>
<asp:ListItem>Access (Diamond)Bank Plc</asp:ListItem>
<asp:ListItem>CitiBank Nigeria Limited</asp:ListItem>
<asp:ListItem>Ecobank Nigeria Plc</asp:ListItem>
<asp:ListItem>Enterprise Bank Plc</asp:ListItem>
<asp:ListItem>Fidelity Bank Plc</asp:ListItem>
<asp:ListItem>First Bank Nigeria Limited</asp:ListItem>
<asp:ListItem>First City Monument Bank Plc</asp:ListItem>
<asp:ListItem>Globus Bank Limited</asp:ListItem>
<asp:ListItem>Guaranty Trust Bank Plc</asp:ListItem>
<asp:ListItem>Heritage Banking Company Limited</asp:ListItem>
<asp:ListItem>Jaiz Bank Plc</asp:ListItem>
<asp:ListItem>Keystone Bank</asp:ListItem>
<asp:ListItem>MainStreet Bank</asp:ListItem>
<asp:ListItem>Polaris Bank</asp:ListItem>
<asp:ListItem>Providus Bank</asp:ListItem>
<asp:ListItem>Skye Bank Plc</asp:ListItem>
<asp:ListItem>Stanbic IBTC Ltd</asp:ListItem>
<asp:ListItem>Standard Chartered Bank Nig Ltd</asp:ListItem>
<asp:ListItem>Sterling Bank Plc</asp:ListItem>
<asp:ListItem>SunTrust Bank Nigeria Limited</asp:ListItem>
<asp:ListItem>Titan Trust Bank Limited</asp:ListItem>
<asp:ListItem>Union Bank of Nigeria Plc</asp:ListItem>
<asp:ListItem>United Bank For Africa Plc</asp:ListItem>
<asp:ListItem>Unity Bank Plc</asp:ListItem>
<asp:ListItem>Wema Bank Plc</asp:ListItem>
<asp:ListItem>Zenith Bank Plc</asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="clearfix" style="height: 10px; clear: both;"></div>
<div class="clearfix" style="height: 10px; clear: both;"></div>
<div class="form-group">
<label class="col-lg-2 control-label" for="uname">Account No: </label>
<div class="col-lg-6">
<asp:TextBox runat="server" type="text" class="form-control" ID="txtaccno" Width="330px" placeholder="*Account Number" value="" MaxLength="10"></asp:TextBox>
</div>
</div>
<div class="clearfix" style="height: 10px; clear: both;"></div>
<div class="clearfix" style="height: 10px; clear: both;"></div>
<div class="form-group">
<label class="col-lg-2 control-label" for="txtsortcode">Sort Code: </label>
<div class="col-lg-6">
<asp:TextBox runat="server" type="text" class="form-control" ID="txtsortcode" Width="330px" placeholder="Sort Code(Optional)" value=""></asp:TextBox>
</div>
</div>
<div class="clearfix" style="height: 10px; clear: both;"></div>
<div class="form-group">
<div class="col-lg-6">
<asp:Button ID="btnbankinfo" class="btn-success" runat="server" Text="SAVE" Height="44px" Width="80px" Style="font-weight: bolder" />
<span class="fa fa-arrow-right"></span>
<%--<asp:Label ID="lblbankinfo" runat="server" Text="Label"></asp:Label>--%>
<span id="bnkmsg"></span>
<div style="color: #b94a48; font-weight: bold; font-size: 14px; background-color: #f2dede; border: #eed3d7 1px solid; padding: 10px; margin-top: 5px; margin-bottom: 5px;">
<p>
<b>Important Info:</b>Please ensure you SAVE each PAGE before clicking on the NEXT Button!
</p>
</div>
</div>
</div>
<div class="clearfix" style="height: 10px; clear: both;"></div>
<div class="form-group">
<div class="col-lg-10">
<button class="btn btn-warning back6" type="button"><span class="fa fa-arrow-left"></span>Back</button>
<button class="btn btn-primary open6" type="button" style="font-weight: bolder">Next <span class="fa fa-arrow-right"></span></button>
</div>
</div>
</fieldset>
</div>
我的 JAVASCRIPT 文件:
$(document).ready(function () {
$("#btnbankinfo").on('click', function (e) {
e.preventDefault();
var BankDetails = {};
BankDetails.Bank = $("#ddlbankname").val();
BankDetails.AccountNo = $("#txtaccno").val();
BankDetails.SortCode = $("#txtsortcode").val();
BankDetails.UserId = $("txtuserid").val();
BankDetails.Email = $("#txtemail").val();
var jsonData = JSON.stringify({
BankDetails: BankDetails
});
$.ajax({
type: "POST",
url: "CustomWebService.asmx/addBank",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: OnErrorCall
});
function OnSuccess(response) {
var result = response.d;
if (result == "success") {
$("#bnkmsg").html("Personal details addded successfully :)").css("color", "green");
}
$("#ddlbankname").val("");
$("#txtaccno").val("");
$("#txtsortcode").val("");
$("#txtuserid").val("");
$("#txtemail").val("");
}
function OnErrorCall(response) {
$("#bnkmsg").html("An Error has occurred. Please Try Again!").css("color", "red");
}
});
});
我的班级档案:
public class BankDetails
{
public int BankID { get; set; }
public string Bank { get; set; }
public string AccountNo { get; set; }
public string SortCode { get; set; }
public Guid UserId { get; set; }
public string Email { get; set; }
}
我的网络方法:
[WebMethod]
public string addBank(BankDetails BankDetails)
{
try
{
string CS = ConfigurationManager.ConnectionStrings["NNPC-ChevronScholarshipConnectionString"].ConnectionString;
using (SqlConnection conn = new SqlConnection(CS))
//using (SqlConnection conn = new SqlConnection(this.conn.ConnectionString))
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "spAddBankDetails";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@Bank", BankDetails.Bank);
cmd.Parameters.AddWithValue("@AccountNo", BankDetails.AccountNo);
cmd.Parameters.AddWithValue("@SortCode", BankDetails.SortCode);
cmd.Parameters.AddWithValue("@UserId", BankDetails.UserId);
cmd.Parameters.AddWithValue("@Email", BankDetails.Email);
conn.Open();
cmd.ExecuteNonQuery();
} conn.Close();
}
return "success";
}
catch (Exception ac)
{
return "Error";
}
}
【问题讨论】:
-
错误是什么?
-
感谢戴尔的提问。它显示的错误消息是在不成功时显示的 JQuery 脚本文件中的错误消息。 function OnErrorCall(response) { $("#bnkmsg").html("发生错误,请重试!").css("color", "red");
-
response对象的 实际 错误是什么? -
@Chris Schaller,实际的错误是它返回了我之前发布的 JQuery 文件中的错误消息,而不是插入数据并发布成功消息。
标签: jquery asp.net sql-server ajax c#-4.0