JQuery AJAX GET - как отлаживать и проверять, что работает - PullRequest
1 голос
/ 15 ноября 2011

У меня есть ниже JQuery. Ничего не происходит, и я понятия не имею, как отладить этот другой, чем использование Firebug, который не показывает ошибок. Как мне узнать, где происходит сбой, и если даже активировать сценарий в файле? Это используется в iframe для приложения Facebook, может ли это быть проблемой? Любая помощь высоко ценится.

$(document).ready(function(){
    $('#shopkeeperID').submit(function(){
            var skID = $("#skID").val();
            showLoading();
        sendValue(skID);  
    });

});

function sendValue(str){
        $.ajax({
          type: "GET",
          url: "/var/www/web/shopkeeper/index.php",
          data: shopkeeper=+str,
          success: function(response) { 
          $('#response').html(response); 
            hideLoading();
            //refresh page
          }       
        });         
}       

    //show and hide loading icon
    function showLoading() {
      $("#loading").show();
    }

    function hideLoading() {
      $("#loading").hide();
    }

Ответы [ 4 ]

1 голос
/ 15 ноября 2011

Я настоятельно рекомендую использовать консоль в Firebug . Среди прочего, он отлично подходит для отладки jscripts. Показывает, какие данные передаются и принимаются, и хорошо выявляет ошибки.

Кажется, проблема в том, что вы передаете в данных . Вам нужна пара key => value , и кажется, что вы только передаете значение. Например. data : {'string' : myString}.

1 голос
/ 15 ноября 2011

Предлагаю вам прочитать документацию более тщательно.Вы можете установить свойство ошибки, которое является функцией, которая получает три параметра: исходный запрос, сообщение о состоянии и выданную ошибку.Обычно, однако, информация здесь довольно скудна.Так что вы также должны взглянуть на панель Firebug Net.Вероятно, это покажет, что либо вы получаете 404 по вашему запросу, либо вы обнаружите, что вы делаете междоменный запрос, который не разрешен, что-то вроде этого.

0 голосов
/ 15 ноября 2011

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

contentType: "application/json; charset=utf-8"

http://api.jquery.com/jQuery.ajax/

Но я не уверен, поможет ли это вам, так как это php, большинство моих вызовов ajax выполняются через asp.net, поэтому этот комментарий может не иметь никакого значения. Просто убедитесь, что для всех свойств, которые вы настраиваете для выполнения запроса ajax, задано правильное значение вместо значения по умолчанию. Кстати, значением по умолчанию для contentType является «application / x-www-form-urlencoded»

0 голосов
/ 15 ноября 2011

Отличный способ отладки подобных проблем - использовать HTTP Debugger .Если вы работаете в Windows, Fiddler - отличный инструмент.Однако многие браузеры упаковывают эти инструменты разработчика прямо в продукт.Не для того, чтобы подключать что-то конкретное, но Google Chrome имеет отличные инструменты разработчика, встроенные прямо в браузер.

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