前端代码:
$.ajax({
type: "post",
url: "BoxInput.aspx/GetDeliveryNo",
data: "{ 'BarCode': '"+$("#saomiaoma_beforePirefix").val()+"' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (data) {
$.post("BoxInputScanning.ashx?method=LockBeforePirefix", { DNNumber: data.d }, function (result) {
if (result == "5173LOGIN") {
alert("登陆过期,请重新登陆!");
} else if (result == "5173ERROR") {
alert("该条形码无效!");
} else if (result == "") {
alert("未能该发运单:" + $("#saomiaoma_beforePirefix").val() + "维护编箱前缀!");
$("#saomiaoma_beforePirefix").removeAttr("disabled");
$("#saomiaoma_beforePirefix").val("");
} else {
$("#beforePirefix").val(result);
$("#saomiaoma_beforePirefix").val("发运单:" + $("#saomiaoma_beforePirefix").val() + ",编箱前缀:" + result);
$("#saomiaoma").removeAttr("disabled");
$("#btn_tiaoxingmasaomiao").removeAttr("disabled");
alert("锁定的编箱前缀为:" + result);
}
}, "text");
},
error: function (err) {
debugger;
alert(err);
}
});
后台代码:
[WebMethod]
public static string GetDeliveryNo(string BarCode)
{
var result = "";
var sql = "select OLDBARCODE from BARCODESTORAGE where barcode = :barcode";
var scalar = cms_bl.OracleDatabase.ExecuteScalar(cms_bl.ConnfigSetting.getEleBillConnStr(), CommandType.Text, sql,
new OracleParameter[1] { new OracleParameter(":BarCode", BarCode) });
if (scalar != null)
{
result = scalar.ToString().Split(';')[1];
}
return result;
}
注意事项:
1.ajax的data必须为json的字符串格式,而不是json对象;
2.ajax提交必须为post方式,无法使用$.post()。
3.后台代码的方法加[WebMethod]属性,需要用public static 修饰。
4.为保证asp.net的模型绑定系统能够识别,需要保证参数名及个数和前端一致
5.返回的数据必须用data.d来获取。