#javascript #php #jquery #ajax
#javascript #php #jquery #ajax
Вопрос:
Я пытаюсь настроить страницу, на которой отображаются наблюдения, и если щелкнуть по одному из наблюдений, то он отправит номер наблюдения, по которому щелкнули, в php. Затем, когда они будут перенаправлены на экран сведений, он заполнит детали наблюдения, по которому щелкнули. Я перепробовал много разных способов сделать это, поэтому мой код вроде как везде, но кажется, что независимо от того, как я это делаю, либо Ajax не отправляет данные, либо каждый раз отправляет один и тот же номер наблюдения. Мне кажется, что атрибут данных AJAX не может справиться с i. Это создается в Intel XDK, который является разработчиком приложений html5. Вот почему это сложно, потому что я не могу использовать инструменты разработчика браузера для отладки.
Javascript
<script>
$(document).ready(function(){
$.ajax({
url: "http://localhost/observationMain.php",
data: { action: "observationID" },
type: 'post',
dataType: 'json',
success: function(observationID){
for(i = 0; i <= observationID.length; i )
{
$("#observationMainListView").append("<form id='form" i "'' method='post'><a id='observation" i "' class='list-group-item allow-badge widget uib_w_" (i 4) "' data-uib='twitter bootstrap/list_item' data-ver='1'><h4 id='observationNum" i "' class='list-group-item-heading'>" observationID[i][0] "</h4><p class='list-group-item-text'>" observationID[i][1] "</p></a><input name='observationNum' value='" observationID[i][0] "'></form>");
$("#observation" i "").click(function(){
$.ajax({
url: "http://localhost/observationDetail.php",
data: $("#form" i "").serialize(),
type: 'post',
success: function(observationNum){
document.location.href = 'observationDetail.html';
}
});
});
}
}
});
});
</script>
php
<?php
session_start();
if(isset($_POST['observationNum'])){
$_SESSION['observationNum'] = $_POST['observationNum'];
}
?>
Комментарии:
1. Вы делаете это на веб-сервере? Вы смотрели запрос / ответ в инструментах разработчика браузера? Вы правильно установили библиотеку jQuery?
2. Если вы проверяете список cteated при загрузке страницы, имеет ли ввод правильное значение
observationNum
? Также дайте емуtype="number"
возможность правильно их сформировать.3. @JayBlanchard Я только что отредактировал вопрос, но я делаю это в intel XDK, разработчике приложений html5. Библиотека включена правильно, потому что я использовал ajax и jQuery в других частях приложения, и это работает нормально.
4. @Searching Да, потому что я вижу поле ввода, и в нем указаны правильные цифры.
5. Попробуйте установить данные вручную в ajax send и проверьте, принимает ли серверная часть это значение. Вы добавили входные данные
type
иid
? У вас есть это для заголовка ur, но не для входных данных. Убедитесь, что имя и идентификатор уникальны. Сообщите нам, когда вы найдете
Ответ №1:
Это может показаться безумием, но проверьте эту строку.Свойство id формы имеет дополнительный '
, возможно, это и является причиной проблемы.
$("#observationMainListView").append("<form id='form" i "'' method='post'
Я не могу запустить сценарий, но просто даю ему шанс.