#php #jquery #ajax
#php #jquery — запрос #ajax #jquery
Вопрос:
У меня есть этот звонок:
bindAutoComplete('pro_title');
который использует эту функцию для выполнения вызова jQuery AJAX:
function bindAutoComplete(id) {
$("#" id).keyup(function() {
if (this.value.length > 1) {
$.post("/ajax/autocomplete" , {id: this.value }, function(data) {
// do stuff here...
});
}
});
}
который работает с этим PHP-скриптом:
public function autocompleteAction()
{
if ($this->getRequest()->isPost()) {
echo print_r($this->getRequest()->getPost());
}
}
Когда я запускаю эти скрипты, PHP выдает эхо:
Array ([id] => test) 1
где ‘test’ в данном случае — это значение в this.value
из вызова AJAX.
То, что я ищу, [id]
должно быть заменено на pro_title
.
Пожалуйста, помогите!
Комментарии:
1. что вы имеете в виду?? просто замените
{id: this.value}
на{pro_titile: this.value}
2. Почему у вас есть
echo print_r(
?print_r
Вам здесь не нужно, это бессмысленно.3. @Ракета, потому что я тестировал. Print_r не находится в производстве.
Ответ №1:
{id: this.value } должно быть {id: id }..
function bindAutoComplete(id) {
$("#" id).keyup(function() {
if (this.value.length > 1) {
$.post("/ajax/autocomplete" , {id: id }, function(data) {
// do stuff here...
});
}
});
}
Если вы также хотите отправить значение, вы можете сделать {id: id, value: this.value }
Ответ №2:
Вы имеете в виду что-то вроде этого:
function bindAutoComplete(id) {
$("#" id).keyup(function() {
if (this.value.length > 1) {
$.post("/ajax/autocomplete" , {id: id }, function(data) {
// do stuff here...
});
}
});
}