Форум программистов, компьютерный форум, киберфорум
Наши страницы
jQuery
Войти
Регистрация
Восстановить пароль
 
witcher4680
0 / 0 / 0
Регистрация: 18.04.2015
Сообщений: 41
1

Проблемы с работой Ajax

10.02.2019, 00:04. Просмотров 252. Ответов 7

Доброго времени суток!

Только начал изучать Ajax и на первых парах сталкиваюсь с проблемой. Ниже код написанный на JS , а так же код который вынесен в отдельный php файл. По результату нажатия на объект, должно вернуться слово Hello, но вместо этого, в алерт выводится весь html код страницы на которой я нахожусь. Подскажите пожалуйста, что конкретно делаю не так.

Заранее благодарен!

Javascript
1
2
3
4
5
$('#scooter1').click(function(){
    $.get('goodinfo.php', function(data) {
    alert(data);
    })
});
PHP
1
2
3
<?php
echo 'Hello';
?>
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2019, 00:04
Ответы с готовыми решениями:

Проблемы с AJAX
Всем привет, у меня такая проблема: Сделал систему комментариев на ajax - все работает стабильно,...

Проблемы с отправкой AJAX
Добрый день, есть такая проблема, на странице есть функция отправки Post ajax, &lt;div...

Проблемы с кодировкой в ajax load
Всем привет!!!! Вот есть код js $('#postTo').click(function(eventObject){ var name =...

AJAX комментарии. Проблемы с кодировкой
Доброго времени суток. Взял отсюда код http://sitear.ru/material/php-script-kommentariev , для...

После вставки ответа ajax в input запроса, ответ ajax не изменяется
Здравствуйте! В общем так, есть поле input, есть таблица с полем count. Задача: изменить...

7
amr-now
Эксперт JS
1569 / 911 / 383
Регистрация: 14.06.2018
Сообщений: 2,296
10.02.2019, 10:01 2
url cтраницы, на которой вы находитесь, не должен абсолютно совпадать с url в ajax-запросе.
Сервер как будет различать, где ему отдать страницу, а где кусок страницы?
То есть сервер тоже должен понимать, что от него хотят. Там посмотреть url, там посмотреть заголовки.
Если url не различаются, то сервер обязан покопаться в заголовках, чтобы различить.
0
witcher4680
0 / 0 / 0
Регистрация: 18.04.2015
Сообщений: 41
10.02.2019, 13:36  [ТС] 3
Так URL и не совпадает. Это отдельный php файл, который находится в той же директории. Файл в котором я нахожусь сейчас называется goods.php, файл, который указан в URL запроса Ajax, называется - goodinfo.php. Или я Вас не правильно понял?
0
amr-now
Эксперт JS
1569 / 911 / 383
Регистрация: 14.06.2018
Сообщений: 2,296
10.02.2019, 13:43 4
witcher4680, сервер, получив в GET-запросе url == 'goodinfo.php',
отдает в ответ файл goods.php ?

Значит, что-то не так в консерватории серверного скрипта.
0
witcher4680
0 / 0 / 0
Регистрация: 18.04.2015
Сообщений: 41
10.02.2019, 13:57  [ТС] 5
Да, Вы поняли правильно. Что такое консерватория серверного скрипта? Как проверить в чем конкретно проблема и как ее решить?
0
amr-now
Эксперт JS
1569 / 911 / 383
Регистрация: 14.06.2018
Сообщений: 2,296
10.02.2019, 14:34 6
У меня сейчас PHP не установлен. Показываю на сервере NodeJS.
Содержимое папки сайта:
goods.php
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
 
<body>
    <input id="scooter1" type="button" value="Запросить">
    <script>
        $('#scooter1').click(function () {
            $.get('goodinfo.php', function (data) {
                alert(data);
            })
        });
    </script>
</body>
</html>
app.js - серверный скрипт для NodeJS
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
const http = require("http");
const fs = require("fs");
const url = require("url");
 
http.createServer(listener).listen(3000);
 
async function listener(request, response) {
    switch (request.method) {
        case "GET": {
            // Информация для тестирования
            console.log(request.method);
            console.log(request.headers);
            console.log(request.url);
 
            let url = urlOrIndex(request.url);
            let s;
            // Здесь корень обработки get-запросов
            switch (url) {
                case "goods.php": // Основная страница
                    response.setHeader("Content-Type", "text/html; charset=utf-8");
                    s = await fs.readTextAsync(url);
                    break;
                case "goodinfo.php": // Текст будет загружен отдельно с помощью AJAX
                    response.setHeader("Content-Type", "text/plain; charset=utf-8");
                    s = "Hello";
                    break;
                case "favicon.ico":
                    break;
                default:
                    response.statusCode = 404;
                    response.setHeader("Content-Type", "text/html; charset=utf-8");
                    s = await fs.readTextAsync("404.html");
                    break;
            }
            response.end(s);
        }
            break;
    }
}
// ========================= Конец общей части =======================================
// promisify fs.readFile() https://stackoverflow.com/questions/34628305/using-promises-with-fs-readfile-in-a-loop
fs.readTextAsync = function (filename) {
    return new Promise((resolve, reject) => {
        fs.readFile(filename, "utf8", (err, buffer) => {
            if (err) reject(err); else resolve(buffer);
        });
    });
};
 
function urlOrIndex(url) {
    return url.slice(1) + (url.endsWith("/") ? "index.html" : "");
}
404.html
PHP/HTML
1
2
3
4
5
6
7
8
9
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
</head>
<body>
    <h1>404 - страница не найдена!</h1>
</body>
</html>
0
Mr_Sergo
1038 / 557 / 201
Регистрация: 29.04.2016
Сообщений: 1,559
11.02.2019, 01:30 7
Цитата Сообщение от witcher4680 Посмотреть сообщение
Ниже код написанный на JS
Цитата Сообщение от witcher4680 Посмотреть сообщение
код который вынесен в отдельный php файл
посмотрите как оформлен код в предыдущем посте, оформите так же и выложите здесь полный код того о чем вы говорите, иначе тут можно долго гадать, на кофейной гуще, почему у вас такая проблема.
0
witcher4680
0 / 0 / 0
Регистрация: 18.04.2015
Сообщений: 41
17.02.2019, 21:01  [ТС] 8
Полный код 2х файлов ниже. Буду Вам благодарен за комментарии!

goods.php
PHP
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
<?php
    HeadCC('Товары', 'v');
?>
        <div class="mainblock">
            <p align="center" class="stafflistheadline">Управление товарами</p>
            <?php
                MessageShow ();
                $Link = "'/ccenter/goods/scooter'";
                if (empty($Submodule)){
                    echo '
                        <table class="catgoods">
                        <tr><th class="stafflisthead1">Номер</th><th class="stafflisthead">Название категории</th><th class="stafflisthead">Краткое описание</th><th class="stafflisthead">Количество позиций</th><th class="stafflisthead">Количество товара в наличии</th></tr>
                        <tr class="stafflisttr" onclick="window.location.href='.$Link.'; return false"><td class="catgoodsid">1</td><td>Самокаты</td><td>Средство передвижения</td><td>56</td><td>1000</td></tr>
                        <tr class="stafflisttr"><td class="catgoodsid">2</td><td>Велобеги</td><td>хз что это</td><td>312</td><td>657</td></tr>
                        <tr class="stafflisttr"><td class="catgoodsid">3</td><td>Рабы</td><td>Полезные ребята</td><td>78</td><td>45</td></tr>
                        <tr class="stafflisttr"><td class="catgoodsid">4</td><td>Конская сперма</td><td>Готовьте жидкий азот</td><td>93</td><td>42</td></tr>
                        <tr class="stafflisttr"><td class="catgoodsid">5</td><td>Шумеры</td><td>По всем вопросам обращайтесь к Владимиру</td><td>11</td><td>60</td></tr>
                        </table>';
                }
                else{
                    echo '
                    <div class="goodstable">
                        <div class="instrumentsline"><img src="/resources/picture/icon/plus.png" style="height: 100%;"><img src="/resources/picture/icon/pancil.png" style="height: 100%;"></div>
                        <div class="goodslist">
                        <table>
                            <tr class="scooter1" id="scooter1">
                            <td>1</td><td>лох</td>
                            </tr>
                            <tr class="scooter2" id="scooter2">
                            <td>2</td><td>пидр</td>
                            </tr>
                        </table>
                        </div>
                        <div class="goodinfo">
                        </div>
                    </div>
                    ';
                }
            ?>  
        </div>
        <script>
            /*function funSuc (data){
                alert(data);
            }
            $(document).ready (function(){
                $("#scooter1").bind("click", function(){
                    $.ajax ({
                        url: 'goodinfo.php',
                        type: 'POST',
                        data: ({'number': 5}),
                        dataType: 'html',
                        success: funSuc
                    });
                });
            });*/
            $('#scooter1').click(function(){
                $.get("goodino/goodinfo.php", function(data) {
                alert(data);
                })
            });
        </script>   
    </body>
</html>
goodinfo.php
PHP
1
2
3
<?php
echo 'Hello';
?>
0
17.02.2019, 21:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2019, 21:01

Ajax загрузка формы из загруженного через ajax блока
Вообщем, через ajax в блок подгружается форма, из нее нужно загрузить в этот же блок др.контент....

Ajax запрос в div с уже 'прилетевшим' ajax'om
Добрый день, ребят... Не нашёл отдельного раздела по ajax, а разобраться очч надо, т.к.в JS полный...

Проблемы с подключением и работой с БД
НЕ получается подключить БД. Работаю с phpmyadmin через openserver. Вот код который пишу. (касати...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru