Ajaxコールが機能しません。 btnsubmitをクリックすると、最初にalert hiと "Record Save Database"が表示されますが、データはデータベースに保存されません。ストアド・プロシージャー名は「Ajax」です。Ajaxコールがasp.netで動作しません
エラーを解決するにはどうすればよいですか?事前のおかげで..
手順は次のとおりです。
create procedure Ajax
@EmpID nvarchar(50),
@EmpName nvarchar(50),
@EmpAddress nvarchar(50)
as
begin
insert into NewEmp (EmpID, EmpName, EmpAddress)
values (@EmpID, @EmpName, @EmpAddress)
end
HTMLページ:
<script type="text/javascript">
$(document).ready(function() {
$("#btnsubmit").click(function() {
var EmpID = $('#TxtID').val();
var EmpName = $('#TxtName').val();
var EmpAddress = $('#TxtAdd').val();
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Default11.aspx/InserData",
data: "{'EmpID':'" +EmpID + "','EmpName':'" + EmpName + "','EmpAddress':'" + EmpAddress + "'}",
dataType: "json",
success: function (response) {
alert("Hi");
$("#TxtID").val(''); $("#TxtName").val(''); $("#TxtAdd").val('');
alert("Record Save to Databse");
},
error: function() {
alert("Error");
}
});
});
});
</script>
<div>
<asp:TextBox ID="TxtID" runat="server" ></asp:TextBox>
<br />
EmpName:-<asp:TextBox ID="TxtName" runat="server"></asp:TextBox>
<br />
Addresss:-<asp:TextBox ID="TxtAdd" runat="server"></asp:TextBox>
<br />
<input type="button" id="btnsubmit" value="Submit" />
</div>
C#コード: -
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.Services;
public partial class Default11 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[System.Web.Services.WebMethod]
public static bool InserData(string EmpID, string EmpName, string EmpAddress)
{
SqlConnection scon = new SqlConnection(ConfigurationManager.ConnectionStrings["AjaxInsert"].ConnectionString);
try {
SqlCommand cmd = new SqlCommand("Ajax",scon);
scon.Open();
cmd.CommandType=CommandType.StoredProcedure;
cmd.CommandText = "Ajax";
cmd.Parameters.AddWithValue("@EmpID", EmpID);
cmd.Parameters.AddWithValue("@EmpName", EmpName);
cmd.Parameters.AddWithValue("@EmpAddress", EmpAddress);
cmd.Connection = scon;
cmd.ExecuteNonQuery();
scon.Close();
// return "success";
}
catch(Exception ex)
{
// return"error";
}
return true;
}
}
'data' param形式を確認してください。 'keys 'から一重引用符を削除することができます –
C#ファイルのコードをデバッグしましたか?プロシージャに正しい値を渡していますか? –
あなたのスクリプトから 'contentType:" application/json; charset = utf-8 "'を削除してみてください。 –