在我的网页上有一个文本框来获取扫描的条形码值。一旦我们扫描条形码,就必须从数据库中获取详细信息。我正在为文本框创建更改事件。
问题:$ .ajax无效。
代码:
var target = $('#txtBarcode'), val = target.val();
target.change(monitor());
function monitor() {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
data: "{}",
url: "HomePage.aspx/SearchProduct",
dataType: "json",
success: function(data) {
alert("Success!!!");
}
});
}
答案 0 :(得分:3)
您正在尝试将'monitor'传递给更改方法,但实际上是在调用它。它应该看起来像这样(没有parens)
var target = $('#txtBarcode'), val = target.val();
target.change(monitor);
function monitor() {
您也可以始终将其声明为内联:
var target = $('#txtBarcode'), val = target.val();
target.change(
function() {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
data: "{}",
url: "HomePage.aspx/SearchProduct",
dataType: "json",
success: function(data) {
alert("Success!!!");
}
});
});
答案 1 :(得分:1)
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
data: "{}",
url: "HomePage.aspx/SearchProduct",
dataType: "json",
success: function(data) {
alert("Success!!!");
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
// ...
}
});
编辑:Dan对你的变革处理程序是对的。
答案 2 :(得分:0)
你可以复制这里发布的一些答案,其中至少有一个可能有用,但你不会对原因有所了解。这是另一种方式:
由于您使用asp.net,请将断点放在HomePage.aspx / SearchProduct的第一行。这可以确保请求转到服务器上的正确URL。
逐步完成此方法以确保不会抛出任何异常。