我在Asp.net网页表单中使用Jquery Ajax。但是Ajax调用没有命中我的web方法函数。我尝试了很多次堆栈溢出的解决方案。我还在webmethod中添加了断点,function.but ajax没有命中it.It,只显示错误警报。我已经尝试了五个多小时,但不是working.here,这是我的代码:
jquery Ajax代码:
<script>
$(document).ready(function () {
document.getElementById("entryDate").value = moment().format('DD/MM/YYYY');
var eTime = moment().format('HH:00');
document.getElementById("entryTime").value = eTime;
$("#saveButtonLabEntry").click(function () {
alert("hi");
var today = moment().format('YYYY/MM/DD');
var eTime = moment().format('HH:00');
var unitName = $('#unitName').val();
var labEntryArray = [];
var tbl = document.getElementById("myTable1");
var rCount = tbl.rows.length;
alert(rCount);
try {
for (var j = 1; j <= rCount - 1; j++) {
var sampleName = tbl.rows[j].cells[1].innerText;
var density15C = tbl.rows[j].cells[2].children[0].value;
var rvpPsi = tbl.rows[j].cells[3].children[0].value;
var colourAstm = tbl.rows[j].cells[4].children[0].value;
var fp0C = tbl.rows[j].cells[5].children[0].value;
var viscosity50C = tbl.rows[j].cells[6].children[0].value;
var viscosity100C = tbl.rows[j].cells[7].children[0].value;
var pp0C = tbl.rows[j].cells[8].children[0].value;
var ibp = tbl.rows[j].cells[9].children[0].value;
var astm5 = tbl.rows[j].cells[10].children[0].value;
var astm10 = tbl.rows[j].cells[11].children[0].value;
var astm50 = tbl.rows[j].cells[12].children[0].value;
var astm90 = tbl.rows[j].cells[13].children[0].value;
var astm95 = tbl.rows[j].cells[14].children[0].value;
var fbp = tbl.rows[j].cells[15].children[0].value;
var beforeOxid = tbl.rows[j].cells[16].children[0].value;
var afterOxid = tbl.rows[j].cells[17].children[0].value;
var report = tbl.rows[j].cells[18].children[0].value;
var fr5 = tbl.rows[j].cells[19].children[0].value;
//alert(fr5);
var obj = { unitname: unitName, SampleName: sampleName, Entrydate: today, EntryTime: eTime, Density15C: density15C, RVP_PSI: rvpPsi, colourASTM: colourAstm, FP: fp0C, Viscosity50: viscosity50C, Viscosity100: viscosity100C, pp: pp0C, ASTM_IBP: ibp, ASTM5: astm5, ASTM10: astm10, ASTM50: astm50, ASTM90: astm90, ASTM95: astm95, FBP: fbp, BSWB4Oxid: beforeOxid, BSWAfterOxid: afterOxid, Report: report, FR5xylene: fr5 };
labEntryArray.push(obj);
}
} catch (e) {
alert("hello");
}
var pageUrl = '<%=ResolveUrl("LabEntryUI.aspx")%>';
$.ajax(
{
//url: "LabEntryGateway.aspx/SaveLabData",
url: pageUrl + '/SaveLabData',
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(labEntryArray),
success: function (da) {
//$("#msg").html(da.Message);
alert('success');
},
error: function (da) {
alert('hello Error');
}
});
});
});
</script>LabEntryUI.aspx.cs代码:
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Script.Services;
using System.Web.Services;
using System.Web.UI;
using System.Web.UI.WebControls;
using ERL.Gateway;
using ERL.Models;
namespace ERL
{
public partial class LabEntryUI : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static void SaveLabData(List<LabEntry> labEntryArray)
{
string constr = ConfigurationManager.ConnectionStrings["ERLConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (
SqlCommand Command =
new SqlCommand("Insert into LabReport Values(@unitName,@sampleName,@entryDate,@entryTime," +
"@userId,@density15C,@rvpPsi,@colourAstm,@fp,@viscosity50," +
"@viscosity100,@pp,@astmIvp,@astm5,@astm10,@astm50,@astm90,@astm95,@fbp,@bswb4Oxid," +
"@bswAfterOxid,@report,@fr5Xylene)"))
{
Command.Parameters.Clear();
Command.Parameters.Add("unitName", SqlDbType.NChar);
Command.Parameters.Add("sampleName", SqlDbType.VarChar);
Command.Parameters.Add("entryDate", SqlDbType.DateTime);
Command.Parameters.Add("entryTime", SqlDbType.NChar);
Command.Parameters.Add("userId", SqlDbType.NChar);
Command.Parameters.Add("density15C", SqlDbType.Decimal);
Command.Parameters.Add("rvpPsi", SqlDbType.Decimal);
Command.Parameters.Add("colourAstm", SqlDbType.VarChar);
Command.Parameters.Add("fp", SqlDbType.Decimal);
Command.Parameters.Add("viscosity50", SqlDbType.Decimal);
Command.Parameters.Add("viscosity100", SqlDbType.Decimal);
Command.Parameters.Add("pp", SqlDbType.Decimal);
Command.Parameters.Add("astmIvp", SqlDbType.Decimal);
Command.Parameters.Add("astm5", SqlDbType.Decimal);
Command.Parameters.Add("astm10", SqlDbType.Decimal);
Command.Parameters.Add("astm50", SqlDbType.Decimal);
Command.Parameters.Add("astm90", SqlDbType.VarChar);
Command.Parameters.Add("astm95", SqlDbType.VarChar);
Command.Parameters.Add("fbp", SqlDbType.Decimal);
Command.Parameters.Add("bswb4Oxid", SqlDbType.Decimal);
Command.Parameters.Add("bswAfterOxid", SqlDbType.Decimal);
Command.Parameters.Add("report", SqlDbType.VarChar);
Command.Parameters.Add("fr5Xylene", SqlDbType.Decimal);
foreach (var labEntry in labEntryArray)
{
Command.Parameters["unitName"].Value = labEntry.unitname;
Command.Parameters["sampleName"].Value = labEntry.SampleName;
Command.Parameters["entryDate"].Value = labEntry.Entrydate;
Command.Parameters["entryTime"].Value = labEntry.EntryTime;
Command.Parameters["userId"].Value = "";
Command.Parameters["density15C"].Value = labEntry.Density15C;
Command.Parameters["rvpPsi"].Value = labEntry.RVP_PSI;
Command.Parameters["colourAstm"].Value = labEntry.colourASTM;
Command.Parameters["fp"].Value = labEntry.FP;
Command.Parameters["viscosity50"].Value = labEntry.Viscosity50;
Command.Parameters["viscosity100"].Value = labEntry.Viscosity100;
Command.Parameters["pp"].Value = labEntry.pp;
Command.Parameters["astmIvp"].Value = labEntry.ASTM_IBP;
Command.Parameters["astm5"].Value = labEntry.ASTM5;
Command.Parameters["astm10"].Value = labEntry.ASTM10;
Command.Parameters["astm50"].Value = labEntry.ASTM50;
Command.Parameters["astm90"].Value = labEntry.ASTM90;
Command.Parameters["astm95"].Value = labEntry.ASTM95;
Command.Parameters["fbp"].Value = labEntry.FBP;
Command.Parameters["bswb4Oxid"].Value = labEntry.BSWB4Oxid;
Command.Parameters["bswAfterOxid"].Value = labEntry.BSWAfterOxid;
Command.Parameters["report"].Value = labEntry.Report;
Command.Parameters["fr5Xylene"].Value = labEntry.FR5xylene;
Command.Connection = con;
con.Open();
Command.ExecuteNonQuery();
con.Close();
}
}
}
}
}
}LabEntry类代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace ERL.Models
{
public class LabEntry
{
public int sl { get; set; }
public string unitname { get; set; }
public string SampleName { get; set; }
public DateTime Entrydate { get; set; }
public string EntryTime { get; set; }
public string userid { get; set; }
public decimal Density15C { get; set; }
public decimal RVP_PSI { get; set; }
public string colourASTM { get; set; }
public decimal FP { get; set; }
public decimal Viscosity50 { get; set; }
public decimal Viscosity100 { get; set; }
public decimal pp { get; set; }
public decimal ASTM_IBP { get; set; }
public decimal ASTM5 { get; set; }
public decimal ASTM10 { get; set; }
public decimal ASTM50 { get; set; }
public string ASTM90 { get; set; }
public string ASTM95 { get; set; }
public decimal FBP { get; set; }
public decimal BSWB4Oxid { get; set; }
public decimal BSWAfterOxid { get; set; }
public string Report { get; set; }
public decimal FR5xylene { get; set; }
public int slWater { get; set; }
public string SampleNameWater { get; set; }
public decimal ph { get; set; }
public decimal COND { get; set; }
public decimal TDS { get; set; }
public decimal TA { get; set; }
public decimal TAC { get; set; }
public decimal NACL { get; set; }
public decimal H2S { get; set; }
public decimal NH3 { get; set; }
}
}发布于 2018-08-19 23:36:44
尝试更新jquery代码以发布数据,如下所示。在这里,json表示一个对象,该对象具有一个包含LabEntry对象数组的属性labEntryArray
data: JSON.stringify({labEntryArray:labEntryArray})而不是
data: JSON.stringify(labEntryArray)https://stackoverflow.com/questions/51916802
复制相似问题