2013-05-31 2 views
0

Я знаю, что этот вопрос уже задан ранее. Однако я не могу найти решение проблемы. Я пытаюсь использовать $ .post для поиска базы данных MySQL, просто чтобы проверить код, который я установил client_lookup.php для эха «Hello». По какой-то причине этот код не работает, я проверил это во многих учебниках и документах и ​​не могу найти никаких проблем, но по какой-то причине я не получаю никакого результата.

$('input#customer_search_submit').on('click', function() { 

    var customer_name = $('input#customer_name').val(); 

    $.post('/ajax/customer_lookup.php', {customer_name: customer_name}, function(data) { 
     alert(data); 
    }) 

}); 

Если я удалю $ .post и просто поставлю предупреждение (customer_name); это выводит данные формы в предупреждении, как и ожидалось, поэтому я уверен, что проблема связана с $ .post

Я ценю любую помощь/руководство.

Thanks

+4

Это даже не действительный JavaScript и приведет к ошибке синтаксиса. Посмотрите на консоль ошибок. (Предполагая, что реальный код не имеет этой ошибки, может случиться так, что сервер вернет ответ с неуспехом, и в этом случае обратный вызов «success» не будет вызываться. Проверьте с помощью браузера Network Monitor.) – user2246674

+0

Кстати , если вы используете Google Chrome, вы можете нажать CTRL + SHIFT + J, чтобы открыть консоль javascript, которая покажет вам, что не так с вашим кодом. –

ответ

0

javascript выглядит нормально. Вы должны проверить, указали ли вы правильный URL. Попробуйте добавить в error handler в код, как следующее:

$('input#customer_search_submit').on('click', function() { 
    var customer_name = $('input#customer_name').val(); 
    $.post('/ajax/customer_lookup.php', {customer_name: customer_name}, function(data) { 
     alert(data); 
    }).error(function(){alert(arguments[1]+" "+ arguments[2]);}); 
}); 

Очевидно, что вы должны научиться работать с консолью. Проверьте: инструменты разработчика (F12 или Ctrl + Shift + J) для Chrome, Firebug для Firefox, инструменты для разработчиков (F12) для IE)

1

Отмените событие click!

$('input#customer_search_submit').on('click', function(e) { 
    e.preventDefault(); 
    ... 
+0

Спасибо! это, в конечном счете, работало во многих примерах кода, подобных моим другим людям, которые, похоже, не используют/не нуждаются в использовании .preventDefault(), не могли бы вы объяснить, почему? Еще раз спасибо –

+0

Потому что вы используете кнопку отправки, которая отправляет форму обратно. Если вы использовали обычную кнопку, она не представила бы форму. – epascarello

 Смежные вопросы

  • Нет связанных вопросов^_^