前端代碼:
$.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來獲取。