$ .ajax не работает - PullRequest
       17

$ .ajax не работает

0 голосов
/ 25 мая 2010

На моей веб-странице есть текстовое поле для получения отсканированного значения штрих-кода. Как только мы сканируем штрих-код, он должен получить информацию из базы данных. Я создаю событие изменения для текстового поля.

Проблема: $ .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!!!");
                }
            });
        }

Ответы [ 3 ]

3 голосов
/ 25 мая 2010

Вы пытаетесь передать 'monitor' методу change, но на самом деле вызываете его. Это должно выглядеть так (без паренов)

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 голос
/ 25 мая 2010
  1. Добавить обработчик ошибок.
  2. Убедитесь, что ваш относительный URL-адрес правильный.
 $.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)
            {
              // ...
            }
        });

РЕДАКТИРОВАТЬ: Дэн прав насчет вашего обработчика изменений.

0 голосов
/ 25 мая 2010

Вы можете скопировать некоторые ответы, опубликованные здесь, и, по крайней мере, один из них, вероятно, сработает, но вы не получите глубоких знаний о том, почему. Вот еще один способ:

  1. Поскольку вы используете asp.net, поставьте точку останова в первой строке HomePage.aspx / SearchProduct. Это гарантирует, что запрос переходит к нужному URL на сервере.

  2. Пройдите весь этот метод, чтобы убедиться, что не возникает исключение.

  3. Используйте FireFox и установите Firebug (даже если вы нацелены на IE и не собираетесь запускать его на FF). Вы можете проверить HTTP-ответ.
  4. Добавьте обработчик ошибок в дополнение к обработчику успеха.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...