Небольшое приложение, над которым я работаю, дает мне головную боль. Я, наконец, заработал, чтобы автоматически заполнить одно поле с тем же значением, которое было введено в другом поле. Теперь я пытаюсь объединить это с запросом AJAX. Вот что должен делать сценарий.Ошибка обратного вызова Ajax возвращает пусто
Когда определенные слова вводятся в поле ввода, поле ввода рядом с этим должно автоматически содержать это слово на другом языке. Я использую для этого небольшой скрипт PHP, который не имеет отношения к проблеме, с которой я столкнулся. Сценарий PHP выводит слово «bonjour». Когда я ввожу слово «привет», поле ввода рядом с тем, где я ввело, должно автоматически автозаполняться до «bonjour» с использованием запроса ajax. Возможно, важно знать, что это поле ввода является частью формы, содержащей тысячи входных пар. Часть автозаполнения работает, но когда я пытаюсь объединить это с запросом AJAX, данные возврата успеха остаются пустыми. Кто-нибудь есть идея, почему данные запроса остаются пустыми? Я пытаюсь предупредить его, когда изменяется первое входное значение.
var handleData = function (data) {
alert(data);
}
var word = '';
$("table").on('change', '.master', function() {
$.ajax({
url : '<?php echo site_url('wordsuggestion'); ?>/hello/english/french',
type: 'GET',
success : handleData
});
});
$(document).ready(function() {
var max_fields = 1000; //maximum input boxes allowed
var wrapper = $(".input_fields_wrap"); //Fields wrapper
var add_button = $(".add_field_button"); //Add button ID
var x = 1; //initlal text box count
$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(x < max_fields){ //max input box allowed
x++; //text box increment
$(wrapper).append('<tr><td><div class="form-group"><input type="text" class="master" name="or['+x+']"></div></td><td> </td><td><div class="form-group"><input type="text" class="slave" name="tr['+x+']"></div></td></tr>'); //add input box
}
});
});
Это будет форма, которая используется.
<form method="POST">
<table width="100%" class="input_fields_wrap">
<tr>
<td>
<div class="form-group"><input type="text" class="master" name="or[0]"></div>
</td>
<td> </td>
<td>
<div class="form-group"><input type="text" class="slave" name="tr[0]"></div>
</td>
</tr>
</table>
<button type="submit" id="save" class="btn btn-success pull-right">Save</button>
</form>
<button class="add_field_button btn btn-default">Add more fields</button>
Заранее благодарен!
Вы подтвердили, что ваш сервер возвращает данные с кодом состояния успеха? Используйте вкладку «Сеть» инструментов Chrome Developer, чтобы отслеживать ваши HTTP-запросы, а затем посмотрите, что произойдет, когда вы запускаете вызов AJAX. –
@FredVollmer Я работал с этими запросами раньше и никогда не испытывал проблем. Я не могу найти его на вкладке сети, тo. –
«не удается найти его на вкладке сети». Тогда либо вы не посмотрели в нужное место, либо вызов ajax не происходит. Есть ли какие-либо ошибки в консоли? Появляется ли 'alert' в методе handleData? Также обычно, если вы используете метод '.ajax', вы должны обрабатывать обратный вызов« error », чтобы вы могли отслеживать ответы об ошибках и обрабатывать их в пользовательском интерфейсе. – ADyson