#javascript #ajax
#javascript #ajax
Вопрос:
У меня есть этот ajax-код для получения текущего выбора, чтобы позже я мог вызвать database с помощью php GET
. Ошибка Firebug:
Отсутствует) после списка аргументов -«успех»: функция (данные){
Есть идеи?
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#select").change(function(){
$.ajax(
"file.php?selected=" $(this).val(),
"success":function(data){
$("#results").html(data);
}
)
})
});
</script>
<select id="select">
<option> something </option>
<option> something2 </option>
<option> something3 </option>
</select>
<?php
//echo $_GET['selected'];
?>
<div id="results"></div>
Комментарии:
1. В вашем коде синтаксическая ошибка $.ajax({ url:»file.php?selected=» $(this).val(), «success»:функция (данные){ $(«#results»).html(данные); } )
Ответ №1:
$.ajax({
url: "test.html",
context: document.body,
success: function(){
$(this).addClass("done");
}
});
Ответ №2:
Вы должны написать функцию ajax таким образом:
$.ajax({
url: "file.php?selected=" $(this).val(),
success: function(data) {
$("#results").html(data);
}
});
Ответ №3:
Вам не хватает имени свойства ‘url’ перед "file.php?selected=" $(this).val(),
:
$.ajax({
url:"file.php?selected=" $(this).val(), //note the property name 'url'
"success":function(data){
$("#results").html(data);
}
})
Комментарии:
1. Это все еще синтаксически недопустимо.
2. @LinusKleen — может ли ваш комментарий быть менее полезным? Вместо того, чтобы просто говорить «Неправильно!», почему бы еще немного не потренировать пальцы и не указать, что в этом не так, например, «у вас отсутствуют фигурные скобки!» Это было бы полезно не только для будущих пользователей, которые обратятся к этому вопросу, это было бы полезно для OP, потому что у него также отсутствуют эти фигурные скобки.
3. Не нужно так волноваться. Считайте это упражнением для читателя. Удален понижающий голос.
Ответ №4:
Вот ответ, использующий синтаксис, который у вас уже есть:
$(document).ready(function(){
$("#select").change(function(){
$.ajax(
"file.php?selected=" $(this).val(),{
success:function(data){
$("#results").html(data);
}}
);
});
});
Вы действительно можете передать URL в качестве первого аргумента вызова AJAX. Вам просто не хватало создания объекта JSON вокруг части успешного обратного вызова.