jQuery Ajax возвращает ошибку при нажатии, но работает отлично с Document.Ready? - PullRequest
0 голосов
/ 08 марта 2012

Обновление: похоже, отлично работает в IE, но не в Opera, FF или Chrome ...

Я пытаюсь использовать javascript для написания простого способа импортировать данные в sqlite с помощью bind. Моя функция щелчка не работает на моем простом запросе ajax. Я запутался здесь ... Как всегда, это прекрасно работает:

$("#showDB").click(function(){alert("CLICKED!")});

Это прекрасно работает:

$(document).ready(function () {
            $.ajax({
                type: 'GET',
                url: 'dv.xml',
                dataType: 'xml',
                success: parseXml,  
                error: function() {
                    alert('XML file not found.');

                }
            });
            function parseXml(xml) {
                    //alert('XML file found.');
                    $(xml).find('Employee').each(function(){
                        var name = $(this).find('name').text();
                        var email = $(this).find('email').val();
                        var jobtitle = $(this).find('jobtitle').val();
                        var address = $(this).find('address').val();
                        var workphone = $(this).find('workphone').val();
                        var homephone = $(this).find('homephone').val();
                        var cellphone = $(this).find('cellphone').val();
                        var fax = $(this).find('fax').val();
                        var contractor = $(this).find('contractor').val();

                        alert(name);

                    });
             }

      });

Но когда я хочу щелкнуть, чтобы выполнить мой запрос ajax, он возвращает предупреждение об ошибке «XML-файл не найден».

 $("#showDB").click(function(){
        $.ajax({
            type: 'GET',
            url: 'dv.xml',
            dataType: 'xml',
            success: parseXml,  
            error: function() {
                alert('XML file not found.');

            }
        });
        function parseXml(xml) {
                //alert('XML file found.');
                $(xml).find('Employee').each(function(){
                    var name = $(this).find('name').text();
                    var email = $(this).find('email').val();
                    var jobtitle = $(this).find('jobtitle').val();
                    var address = $(this).find('address').val();
                    var workphone = $(this).find('workphone').val();
                    var homephone = $(this).find('homephone').val();
                    var cellphone = $(this).find('cellphone').val();
                    var fax = $(this).find('fax').val();
                    var contractor = $(this).find('contractor').val();

                    alert(name);

                });
         }

  });

Кто-нибудь знает, почему я не могу получить XML при клике? Что мне не хватает?

1 Ответ

1 голос
/ 08 марта 2012

плохие скобки для кода клика, используйте это:

$("#showDB").click(function(){
    $.ajax({
        type: 'GET',
        url: 'dv.xml',
        dataType: 'xml',
        success: parseXml,  
        error: function() {
            alert('XML file not found.');

        }
    });
  }); // needed to close it

edit: причина, по которой вызов "doc" не терпит неудачу, заключается в том, что ajax и функция заключены в функцию load annon - код onclick, который выоднако не хватает некоторых закрывающих скобок

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