С Новым годом! Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159

Ajax не работает, хотя делаю как по инструкции

06.12.2013, 00:42. Показов 688. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть функция sendQuery(). В которой выполняется такой код
JavaScript
1
2
3
4
5
6
function sendQuery() {
$.post('ajax.php', {'name': "18", 'score' : "100"}, function(data, status) {
    document.getElementById('dg2').innerHTML= id_player;
   document.getElementById('dg3').innerHTML = data;//вывод того что пришло с сервера в ответ
});
}
Код файла ajax.php
PHP
1
2
3
4
5
6
7
8
9
10
<? 
if(isset($_POST['name']) && isset($_POST['score'])) {
    $id_play = $_POST['name'];
    $score = $_POST['score'];
    $a = mysql_connect("localhost","root","") or die("неправильнное обращение к базе данных 0");
    mysql_select_db("rns") or die("неправильнное обращение к базе данных 1");
    $b = "UPDATE `players` SET `score` = `score` + 100 where `id_user` = '$id_play'";
    $c = mysql_query($b,$a) or die("неудачный запрос в базу данных");
}
?>
Ошибок никаких не выдаёт. В dg2 и dg3 ничего не выводит, то есть до php кода дело вообще не доходит.
Подскажите в чём проблема? Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2013, 00:42
Ответы с готовыми решениями:

Что такое блоки и инструкции, вложенные инструкции и главные инструкции?
Что это такое?

Что не так делаю с ajax?
Товарищи! Спасите, помогите! Новичок Ajax, тупая как дрова. Только начала учиться. Что мне нужно сделать: есть tester.html c четырьмя...

Как возможно выйти в инструкции switch в начало самой инструкции при нажатии "не правильной" кнопки
В целом у меня вопрос такой: Как возможно выйти в инструкции switch в начало самой инструкции при нажатии не правильной кнопки. Вот...

11
 Аватар для FaCkeR
234 / 114 / 2
Регистрация: 22.11.2013
Сообщений: 61
06.12.2013, 12:54
Загляните в консоль и увидите

JavaScript
1
2
ReferenceError: id_player is not defined
    document.getElementById('dg2').innerHTML= id_player;
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
06.12.2013, 14:24
Покажите полностью html и js код

Добавлено через 2 минуты
Кстати в #dg3 ничего не будет записываться, потому что php ничего не передает. А на счет #dg2 - проверьте, правильно ли у вас определена переменная id_player
0
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
06.12.2013, 15:06  [ТС]
gooseim, id_player объявлен и выводить если написать, вот так:
JavaScript
1
2
3
4
5
6
7
function sendQuery() {
  document.getElementById('dg2').innerHTML= id_player;
$.post('ajax.php', {'name': '18', 'score' : '100'}, function(data, status) {
    document.getElementById('dg2').innerHTML= id_player;
    document.getElementById('dg3').innerHTML = data;//вывод того что пришло с сервера в ответ
});
}
Вот код html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?session_start();
    $_SESSION['nickname'] = $_COOKIE['rnsnickname'];
    $_SESSION['key'] = $_COOKIE['rnskey'];
    $_SESSION['id'] = $_COOKIE['rnsid'];
    $nickname = $_SESSION['nickname'];
    $id = $_SESSION['id'];
?>
<script src='js/jquery-2.0.3.js'></script>
<script src="http://localhost:8008/socket.io/socket.io.js"></script>
<script src = 'js/client_side.js'></script>
<script src = 'js/scoring.js'></script>
<script type="text/javascript">
    var nickname='<?=$nickname?>';
    var id_player = '<?=$id?>';
</script>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="main.css">
    <meta name="robots" content="noindex,nofollow"/>
    <title>RandomNameShooter</title>
</head>
<body>
 <canvas id="canvas" style="border:1px solid #000"></canvas>
 <script src="js/game1.js"></script>
 <div id="dg1" style="block2"> 
 loooooooooooooooooooooooooooooooooooooooooooooool</div>
 <div id = "dg2" style = "blocks2">
 Kills
 </div>
 <div id = "dg3" style = "blocks2">
 Kills
 </div>
<div class="demo">
    <!--<a class="permalink" href="http://www.itlessons.info/nodejs/simple-chat-with-nodejs-and-socket-io/">← cсылка на статью</a>-->
    <div class="chat">
       <div class="messages" id="messages"></div>
 
        <div class="panel">
            <span class="nick"></span> 
            <!--<input type="text" name="message_text" id="message_text">-->
            <button type="button" id="message_btn">Start</button>
        </div>
    </div>
</div>
</body>
</html>
Код js файла очень большой, т.к. игру делаю.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
(function() {
    var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
    window.requestAnimationFrame = requestAnimationFrame;
})();
 
var canvas = document.getElementById("canvas"),
    spawns = [
      {
        x: 100,
        y: 100,
      },
      {
        x: 200,
        y: 200,
      },
      {
        x: 450, 
        y: 200 
      }
    ],
    number_spawn = 0,
    bonus_spawns=[
    {
      x: 1000,
      y: 20
    },
    {
      x: 1000,
      y: 50
    },
    {
      x: 1000,
      y: 70
    },
    {
      x: 1000,
      y: 90
    }
    ],
    bonuses = [],
    count_bonuses = 0,
    temp_date = new Date(),
    buffer = 0,
    delay = temp_date,
    ctx = canvas.getContext("2d"),
    blocking = 1,
    width = 1220,
    height = 360,
    player = {
      x : width/2,
      y : height - 100,
      width : 15,
      height : 15,
      speed: 6,
      velX: 0,
      velY: 0,
      jumping: false,
      name: nickname,
      max_health: 100,
      health: 100,
      bonus: 0,
      last_shoot: 'lol',
    },
    namesplayer = [],
    otherplayer = [],
    player1 = {
      x : width/2,
      y : height - 100,
      width : 15,
      height : 15,
      speed: 6,
      velX: 0,
      velY: 0,
      jumping: false,
      name: "lal"
    },
    blocks = {
      x : width/3,
      y : height - 240,
      width : 200,
      height : 200,
    },
    arr = [ {
      x : 100,
      y : height-100,
      width : 50,
      height : 50,
    },
    {
      x : 150,
      y : height - 140,
      width : 100,
      height : 100,
    },{
      x : 20,
      y : height-20,
      width : 50,
      height : 50,
    },{
      x : 720,
      y : 200,
      width : 50,
      height : 50,
    },{
      x : 80,
      y : 30,
      width : 50,
      height : 50,
    }
    ],
    keys = [],
    friction = 0.8,
    gravity = 0.3,
    blockX = false;
canvas.width = width;
canvas.height = height;
var bullets = [],
    deleted_Bullets = [];
    count_Bullet = 0,
    count_Player = 0,
    speed_Bullet = 4;
//var z=document.getElementById("debug1");
 
function sendQuery() {
  document.getElementById('dg2').innerHTML= id_player;
$.post('ajax.php', {'name': '18', 'score' : '100'}, function(data, status) {
    document.getElementById('dg2').innerHTML= id_player;
    document.getElementById('dg3').innerHTML = data;//вывод того что пришло с сервера в ответ
});
}
 
function getRandomArbitrary(min, max) {
  return Math.floor(Math.random() * (max - min + 1) + min);
}
 
function update(){
  if(blocking == 1){
    if(keys[69] || keys[96]){
      document.getElementById('dg2').innerHTML = player.bonus;
      }
    if(player.health <= 0){
      //admission_points(100);
      number_spawn = getRandomArbitrary(0, spawns.length-1);
      player.x = spawns[number_spawn].x;
      player.y = spawns[number_spawn].y;
      player.health = player.max_health;
      player.last_shoot = 'SASAI';
      sendQuery();
    }
 
  // check keys
    if (keys[38] || keys[32] || keys[87]) {
        // up arrow or space
      if(!player.jumping){
       player.jumping = true;
       player.velY = -player.speed*2;
      }
    }
    if (keys[39] || keys[68] && blockX == false) {
        // right arrow
        if (player.velX < player.speed) {             
            player.velX++;         
         }     
    }     
    if (keys[37] || keys[65] && blockX == false) {         
        // left arrow         
        if (player.velX > -player.speed) {
            player.velX--;
        }
    }
 
    player.velX *= friction; 
    player.velY += gravity;
    player.x += player.velX;
    player.y += player.velY;
 
    if (player.x >= width-player.width) {
        player.x = width-player.width;
    } else if (player.x <= 0) {         
        player.x = 0;     
    }    
    if(player.y >= height - player.height){
        player.y = height - player.height;
        player.jumping = false;
    }
 
 
    /Перебор всех блоков/
    for(var i=0; i<arr.length;i++){
      for(var j = 0; j < bullets.length; j++){
      /Проверка пуль на соприкосновение с блоками/
 
      if(bullets[j].x <= arr[i].x + arr[i].width && bullets[j].x >= arr[i].x && bullets[j].y >= arr[i].y && bullets[j].y <= arr[i].y + arr[i].height){
       // bullets.splice(j,1);
        deleted_Bullets.push(j);
        count_Bullet--;
        //j--;
       // bullets.length--;
        //delete bullets[j];
        }
      }
      /Проверка игрока на соприкосновение с блоками/
      if(player.x+player.width > arr[i].x && player.x < arr[i].x+arr[i].width){
      if(player.y >= arr[i].y - player.height && player.y < arr[i].y){
        player.y = arr[i].y - player.height;
        player.jumping = false;
        player.velY = 0;
        }
        else      if(player.y <= arr[i].y + arr[i].height && player.y > arr[i].y + arr[i].height-player.width){
          player.y = arr[i].y + arr[i].height;
          player.jumping = true;
        }                  
        if(player.y> arr[i].y - player.height && player.y < arr[i].y + arr[i].height){
          if(player.x+player.width >= arr[i].x && player.x+player.width <= arr[i].x+5){
            player.x = arr[i].x - player.width ;
          }
          else
          player.x = arr[i].x + arr[i].width;
          player.velX = 0;
         // blockX = true;
        }
       // else blockX = false;
    }                                                       
    }
 
  for(var j = 0; j < bullets.length; j++){
      /Проверка пуль на соприкосновение с игроками/
 
      if(bullets[j].x <= player.x + player.width && bullets[j].x >= player.x && bullets[j].y >= player.y && bullets[j].y <= player.y + player.height && player.name != bullets[j].name){
        deleted_Bullets.push(j);
        count_Bullet--;
        player.health -= 10;
        player.last_shoot = bullets[j].name;
        }
    for(var i = 0; i < otherplayer.length; i++){
      if(bullets[j].x <= otherplayer[i].x + player.width && bullets[j].x >= otherplayer[i].x && bullets[j].y >= otherplayer[i].y && bullets[j].y <= otherplayer[i].y + player.height && otherplayer[i].id != bullets[j].name){
        deleted_Bullets.push(j);
        count_Bullet--;
        }
    }
  }
 
  /Удаление пуль/
  for(var i = 0; i< deleted_Bullets.length; i++){
    bullets.splice(deleted_Bullets[i],1);
  }
  deleted_Bullets.length = 0;
  /Отрисовка всего/
  ctx.clearRect(0,0,width,height);
  ctx.fillStyle = "black";
  for(var i=0; i<arr.length;i++)
  ctx.fillRect(arr[i].x,arr[i].y,arr[i].width,arr[i].height);
  ctx.fillStyle = "grey";
  for(var i = 0; i<bullets.length;i++){
    ctx.fillRect(bullets[i].x,bullets[i].y,10,10);
    bullets[i].x += speed_Bullet*bullets[i].dx;
    bullets[i].y += speed_Bullet*bullets[i].dy;
  }
  ctx.fillStyle = "red";
  ctx.fillRect(player.x, player.y, player.width, player.height);
  ctx.fillStyle = "green";
  for(var i = 0; i < otherplayer.length; i++){
  if(otherplayer[i].id != player.name)
  ctx.fillRect(otherplayer[i].x, otherplayer[i].y, player1.width, player1.height);
  }
  ctx.fillStyle = "yellow";
  for(var i = 0; i < bonuses.length; i++){
    if(player.x + player.width >= bonuses[i].x && player.x <= bonuses[i].x + bonuses[i].width && player.y + player.height >= bonuses[i].y && player.y <= bonuses[i].y + bonuses[i].height && bonuses[i].type != 0){
      player.bonus = bonuses[i].type;
      bonuses[i].type = 0;
      take_bonus(i);
    }
    if(bonuses[i].type > 0)
      ctx.fillRect(bonuses[i].x, bonuses[i].y, bonuses[i].width, bonuses[i].height);
  }
}
  requestAnimationFrame(update);
 
}
 
document.body.addEventListener("keydown", function(e) {
    keys[e.keyCode] = true;
});
 
document.body.addEventListener("keyup", function(e) {
    keys[e.keyCode] = false;
});
 
window.addEventListener("load",function(){
    update();
});
var MouseCoords = {
    // координаты x и y
    x: 0,
    y: 0,
 
    // X-координата
    setX: function(e)
    {
        if (e.pageX)
        {
            this.x = e.pageX;
        }
        else if (e.clientX)
        {
            this.x = e.clientX+(document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
        }
        else
        {
            this.x = 0;
        }
    },
 
    // Y-координата
    setY: function(e)
    {
        if (e.pageY)
        {
            this.y = e.pageY;
        }
        else if (e.clientY)
        {
            this.y = e.clientY+(document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
        }
        else
        {
            this.y = 0;
        }
    }
}
 
document.onmousemove = function(e)
{
    if (!e) e = window.event;
    MouseCoords.setX(e);
    MouseCoords.setY(e);
};
 
 
function newshoot(data){
 
  var pre_Andgel_cos = Math.cos(-(data.pre_Andgel - 90) * Math.PI/180) * 4;
  var pre_Andgel_sin = Math.sin(-(data.pre_Andgel - 90) * Math.PI/180) * 4;
    var bullet = {
      dx: pre_Andgel_cos,
      dy: pre_Andgel_sin,
      x:data.x,
      y:data.y,
      name: data.name
    };
    bullets[count_Bullet] = bullet;
    count_Bullet++;
};
Добавлено через 45 секунд
FaCkeR, Опять же он объявлен, посмотрите код выше.
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
06.12.2013, 15:23
Попробуйте продебажить функцию sendQuery(). Так особо не понятно, в чем дело.
0
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
06.12.2013, 15:41  [ТС]
gooseim, а как продебажить?
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
06.12.2013, 15:47
console.log или на худой конец alert
0
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
06.12.2013, 15:48  [ТС]
gooseim, а что в alert запихнуть?
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
06.12.2013, 15:50
JavaScript
1
2
3
4
5
6
7
8
9
10
function sendQuery() {
  alert("id_player: " + id_player);
  document.getElementById('dg2').innerHTML= id_player;
$.post('ajax.php', {'name': '18', 'score' : '100'}, function(data, status) {
    alert("id_player: " + id_player);
    alert("data: " + data);
    document.getElementById('dg2').innerHTML= id_player;
    document.getElementById('dg3').innerHTML = data;//вывод того что пришло с сервера в ответ
});
}
0
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
06.12.2013, 15:54  [ТС]
gooseim, выводит только первый alert с результатом: id_player: 18.
Все остальные не выводит.
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
06.12.2013, 15:58
Может он не видит файл 'ajax.php'.
Он находится в той же папке, где js?
Если он находится в корне, там, где html, то попробуйте так:
JavaScript
1
$.post('../ajax.php'
0
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
06.12.2013, 16:12  [ТС]
gooseim, не помогло
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2013, 16:12
Помогаю со студенческими работами здесь

Делаю ajax запрос, прошу совета
Прошу совета... Делаю ajax get запрос, для дальнейшего &quot;визуального редактирования информации (прямо на странице новости)&quot;, повешу на...

Результат верстки не соответствует макету, хотя все делаю правильно
Добрый день, я не понимаю почему у меня результат верстки, не соответсвует макету. Я в фотошопе выбрал логотип, он показывает что размер...

что я делаю не правильно или хотя бы посоветуйте новую книгу по С++
Посоветуйте новую книгу по С++ для начинающих, а то пишу cout, а надо std::cout. что у меня не правильно? // my.cpp: определяет точку...

Функция mysql возвращает false. Хотя всё делаю правильно
Ребята почему функция mysqli_query() выдаёт Flase понять не могу где ошибка . Пол интернета перерыл и нигде толкового ответа. $Name...

Делаю ajax запрос, хочу создать элемент инфоблока
К сожалению в Битриксе я не работал до этого. В задаче нужно было создать скрипт который добавляет элемент инфоблока. Но я столкнулся...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru