У меня есть простой HTML form
, где пользователь может искать слово из базы данных и PHP
вернуть результат как объект JSON
, если это слово в базе данных.jQuery JSON возвращается с PHP
Странно, что объект возвращает JSON
для слова, находящегося в базе данных при поиске пользователей, нажав на кнопку вместо нажатия клавиши ввода. У меня есть следующие две функции, которые нужно решать, когда пользователь нажимает клавишу ввода или нажимает кнопку для поиска. Как улучшить мой код, чтобы получить объект JSON
от PHP
, когда пользователь ищет, нажав клавишу ввода после того, как они набрали слово в текстовом поле?
$('#word-submit').on('click', function() {
var word = $('#word').val();
$.post('ajax/name.php', {word: word}, function(data) {
var obj = jQuery.parseJSON(data);
console.log(obj); //I see the object in Chrome console log.
});
});
$('#word').keypress(function(e) {
if (e.which == 13) {
var word = $('#word').val();
$.post('ajax/name.php', {word: word}, function(data) {
var obj = jQuery.parseJSON(data);
console.log(obj); //No object is return here. Why? May be something is wrong in my code.
});
}
});
<html>
<head>
<title>Welcome</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="container">
<form>
<input type="text" id="word">
<input type="button" id="word-submit" value="Search">
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="js/global.js" charset="UTF-8"></script>
</body>
</html>
PHP скрипт работает нормально. Поэтому я не вставляю его здесь.
Похоже, что с кодом нет ничего плохого, когда вы нажимаете enter, не обновляется браузер ?? –
Да. Страница получает перезагрузку, когда я нажимаю клавишу ввода, но не тогда, когда я нажимаю на кнопку. Он просто извлекает результат и отображает его без перезагрузки страницы. – Zip
можете ли вы поставить 'e.preventDefault();' внутри, если блок после первой скобки, и попытаться снова ввести –