Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.11.2016, 14:56
Новичок на форуме
Отправить личное сообщение для sakada Посмотреть профиль Найти все сообщения от sakada
 
Регистрация: 02.11.2016
Сообщений: 3

ajax не возвращает json данные
Добрый день!
Помогите, у меня ajax не возвращает json данные

sample.js
$(function() {

    $.ajax({
        type: "GET",
        dataType: 'json',
        url: "/residents/index.php",
        success:function(data){
	         console.debug(data);
                    console.debug(data);
                    alert(data);
	        }
    }).done(function(resident) {
        resident.unshift({ id: "0", name: "" });
        	   	
                $("#jsGrid").jsGrid({
                    height: "70%",
                    width: "100%",//100%
                    selecting: true,
                    filtering: true,
                    editing: true,
                    sorting: false,
                    paging: true,
                    autoload: true,
                    pageSize: 15,
                    pageButtonCount: 5,
                    controller: {
                    loadData: function(filter) {
                    return $.ajax({
                        type: "GET",
                        url: "/residents/",
                        data: filter
                                 });
                },
                insertItem: function(item) {
                    return $.ajax({
                        type: "POST",
                        url: "/residents/",
                        data: item
                    });
                },
                updateItem: function(item) {
                    return $.ajax({
                        type: "PUT",
                        url: "/residents/",
                        data: item
                    });
                },
                deleteItem: function(item) {
                    return $.ajax({
                        type: "DELETE",
                        url: "/residents/",
                        data: item
                    });
                                          }
                    },
           fields: [
                { name: "id", title: "id", type: "text", width: 150 },
                { name: "county", title: "Округ", type: "number", width: 50, filtering: false },
                { name: "dvk", title: "ДВК", type: "text", width: 200 },
                { name: "surname", type: "text", title: "Is Married", filtering: false },
                { type: "control" }
            ]
            });
           });//
        });


index.php
<?php
include "../models/ResidentsRepository.php";
$config = include("../db/config.php");
$db = new PDO($config["db"], $config["username"], $config["password"]);
$residents = new ResidentsRepository($db);
switch($_SERVER["REQUEST_METHOD"]) {
    case "GET":
     $result = $residents->getAllNo();
     break;
        
    case "POST":
        $result = $residents->insert(array(
            "name" => $_POST["name"],
            "age" => intval($_POST["age"]),
            "address" => $_POST["address"],
            "married" => $_POST["married"] === "true" ? 1 : 0,
            "country_id" => intval($_POST["country_id"])
        ));
        break;
    case "PUT":
        parse_str(file_get_contents("php://input"), $_PUT);
        $result = $residents->update(array(
            "id" => intval($_PUT["id"]),
            "name" => $_PUT["name"],
            "age" => intval($_PUT["age"]),
            "address" => $_PUT["address"],
            "married" => $_PUT["married"] === "true" ? 1 : 0,
            "country_id" => intval($_PUT["country_id"])
        ));
        break;
    case "DELETE":
        parse_str(file_get_contents("php://input"), $_DELETE);
        $result = $residents->remove(intval($_DELETE["id"]));
        break;
}
header('Content-Type: application/json; charset=utf-8');
//echo json_encode($result);
echo "Now the json encoded result: \n";
echo json_encode($result);
//var_dump($result);
//phpinfo(32);
?>
Ответить с цитированием
  #2 (permalink)  
Старый 02.11.2016, 15:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от sakada
echo "Now the json encoded result: \n";
echo json_encode($result);
Причина в зачеркнутом, ибо в результате это будет не JSON.

И header('Content-Type: application/json; charset=utf-8'); не обязателен так как явно указан тип принимаемых данных - dataType: 'json'
Ответить с цитированием
  #3 (permalink)  
Старый 02.11.2016, 21:38
Новичок на форуме
Отправить личное сообщение для sakada Посмотреть профиль Найти все сообщения от sakada
 
Регистрация: 02.11.2016
Сообщений: 3

Не помогло.
Возвращает ссылку с другими параметрами, а я не каких не задавал
Ответить с цитированием
  #4 (permalink)  
Старый 03.11.2016, 00:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Что значит не помогло, я же вам не Аспирин предлагаю. По делу, коли серверный код обрабатывает только эти запросы, то со строки 8 должно быть:

header('Content-Type: application/json; charset=utf-8');
exit(json_encode($residents->getAllNo()));
break;


с удалением строк 36 - 41, ибо остальные запросы вообще не интересует ответ сервера, и сколько строк вставлено или обновлено возвращается не известно кому и зачем.

Что за ссылки возвращаются, это разбирайтесь сами посредством отладчика и анализа, ибо причиной могут быть ошибки на сервере и прочее. А валидный JSON не получится, если сервер вкупе с ним будет выплевывать клиенту и другие данные, даже отданных подряд две json-строки в итоге не есть JSON.
Ответить с цитированием
  #5 (permalink)  
Старый 05.11.2016, 14:37
Новичок на форуме
Отправить личное сообщение для sakada Посмотреть профиль Найти все сообщения от sakada
 
Регистрация: 02.11.2016
Сообщений: 3

Проблему решил.
Появилась новая.
Как совместить jquery с файлами bootstrap ?
Ответить с цитированием
  #6 (permalink)  
Старый 05.11.2016, 16:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Что значит совместить? Они прекрасно "уживаются", сперва подключение JQ, потом BS.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ajax запрос к Wcf сервису возвращает Object Object Itogoo333 Общие вопросы Javascript 6 13.01.2016 03:02
Как лучше всего добавлять на страницу данные, пришедшие в json? ogurchik AJAX и COMET 7 08.10.2015 15:01
Ajax / json первый раз. Вопос NdLo jQuery 3 16.10.2014 16:43
Составить Ajax запрос и json LASSO jQuery 1 16.02.2012 03:36
в IE не обновляються данные AJAX Arfey Общие вопросы Javascript 2 14.06.2010 18:26