0

我需要在键入时获取文本框的值,并执行 JSON 的功能,我尝试这样做:

$(document).ready(function () {
  $("#<%= txtBusca.ClientID %>").keypress(function () {
    $.ajax({
      type: "POST",
      data: "{ 'valor' : '" + $(this).val() + "'}",
      url: "Especialidades.aspx/Buscar",
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      success: function () {
        alert('OK');
      }
    })
   });
});

但它不起作用。

4

2 回答 2

1

我认为下面的行导致了问题

data: "{ 'valor' : '" + $(this).val() + "'}",

原因是这个 关键字。在您的代码中,它指的是 ajax 上下文。

我建议您在 Ajax 调用块之前将其分配给变量,并在内部引用它,如下所示:

$("#<%= txtBusca.ClientID %>").keypress(function () {

var enteredValue=$(this).val();

$.ajax({
  type: "POST",
  data: { 'valor' : enteredValue },
于 2012-09-28T12:30:19.313 回答
0

您已经用双引号包裹了数据对象,请尝试删除它们:

data: { 'valor' : $(this).val() }
于 2012-09-28T12:30:29.073 回答