Javascript.RU

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

как получить ответ аякс json
Здравствуйте есть плагин для рейтинга
$('#rating_'+i+'_safety').rating({
		fx: 'half',
        image: '/images/stars.png',
        loader: '/images/ajax-loader.gif',
		url: '/server_rating/rating',
		
        callback: function(responce){
           
            this.vote_success.fadeOut(2000);
            
            alert('Общий бал: '+this._data.val);
        }
	});


Я создал файл на сервере
public function rating(){

$data['status'] = 'ERR';
$data['msg'] = 'Вы не передали нужные данные!';

echo json_encode($data);
}

Как проверить работает ли связь с этим пхп файлом и вывести в алерт json ответ?
Ответить с цитированием
  #2 (permalink)  
Старый 27.06.2014, 16:01
Кандидат Javascript-наук
Отправить личное сообщение для Brutus Посмотреть профиль Найти все сообщения от Brutus
 
Регистрация: 24.11.2013
Сообщений: 127

Запусти вот это
<?
//public function rating(){
$data['status'] = 'ERR';
$data['msg'] = 'Вы не передали нужные данные!';

echo 
"<script> 
  var json_data = ".json_encode($data).";
  alert(json_data.status); 
  alert(json_data.msg); 
</script>";
//}
?>
Ответить с цитированием
  #3 (permalink)  
Старый 27.06.2014, 16:22
Профессор
Отправить личное сообщение для imedia Посмотреть профиль Найти все сообщения от imedia
 
Регистрация: 20.05.2014
Сообщений: 292

Что мне это даст у меня похоже в самом аяксе проблема, может даже пхп файл не находит, что такое callback, может там success вставить?
Ответить с цитированием
  #4 (permalink)  
Старый 27.06.2014, 16:30
Кандидат Javascript-наук
Отправить личное сообщение для Brutus Посмотреть профиль Найти все сообщения от Brutus
 
Регистрация: 24.11.2013
Сообщений: 127

imedia,
Сорри не дочитал,

Потренируйся с этим кодом
/index.html
<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>
    <a onclick="ajax('бла бла');">click</a>
    <script>
      //ie
      if (typeof XMLHttpRequest === "undefined") {
        XMLHttpRequest = function () {
          try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); }
          catch (e) {}
          try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
          catch (e) {}
          try { return new ActiveXObject("Microsoft.XMLHTTP"); }
          catch (e) {}
          throw new Error("This browser does not support XMLHttpRequest.");
        };
      }
      //ie end
      function ajax(txt) {
        var xhr = new XMLHttpRequest();
        xhr.open("GET", '/php.php?m='+encodeURIComponent(txt));
        
        xhr.onreadystatechange = function() {
          if(this.readyState == 4)
            if(this.status == 200) 
            { 
              alert(this.responseText);
            }
        }
        xhr.send('');
          
      }
      
    </script>

  </body>
</html>



/php.php
<?
echo $_GET['m']." - получено :)";
?>

Последний раз редактировалось Brutus, 27.06.2014 в 16:34.
Ответить с цитированием
  #5 (permalink)  
Старый 27.06.2014, 18:39
Профессор
Отправить личное сообщение для imedia Посмотреть профиль Найти все сообщения от imedia
 
Регистрация: 20.05.2014
Сообщений: 292

Скажите вот в этом примере что не так, ответ ошибка
function ajax(txt) {
	 alert(txt)
       $.ajax({
			
					type: "POST",
					dataType: 'json',
					url: "/server_rating/rating",
					data: {txt:txt},
					cache: false,
					success: function(post){
					alert(post)
					
					},
					error:  function(xhr, str){
                alert('Возникла ошибка: ' + xhr.responseCode);
            }
					
				
			});
           
      }

class Server_rating extends CI_Controller {

public function __construct()
{
parent:: __construct();
	
} 
public function rating(){
header('Content-Type: application/json; charset=utf-8');
$post=$_POST['txt'];
echo json_encode($post);
} 
}
Ответить с цитированием
  #6 (permalink)  
Старый 27.06.2014, 18:54
Кандидат Javascript-наук
Отправить личное сообщение для Brutus Посмотреть профиль Найти все сообщения от Brutus
 
Регистрация: 24.11.2013
Сообщений: 127

imedia,
Честно говоря не знаю
Работай с js забудь пока JQuery
Как изучишь можешь прибегать к помощи этой библиотеки, ведь она нужна только если у тебя нет времени и много работы
Ответить с цитированием
  #7 (permalink)  
Старый 28.06.2014, 11:33
Профессор
Отправить личное сообщение для imedia Посмотреть профиль Найти все сообщения от imedia
 
Регистрация: 20.05.2014
Сообщений: 292

Это общий ответ, извините, у меня конкретная ошибка в консоли
ReferenceError: response is not defined

$('#rating_'+i+'_safety').rating({
		fx: 'half',
        image: '/images/stars.png',
        loader: '/images/ajax-loader.gif',
		url: '/functions_server/rating',
		
        callback: function(responce){
           console.log(response);
            this.vote_success.fadeOut(2000);
            
            alert('Общий бал: '+this._data.val);
        }
	});

header('Content-Type: application/json; charset=utf-8');
	$data['status'] = 'ERR';
    $data['msg'] = 'Вы не передали нужные данные!';
    echo json_encode($data);
Ответить с цитированием
  #8 (permalink)  
Старый 28.06.2014, 11:37
Профессор
Отправить личное сообщение для imedia Посмотреть профиль Найти все сообщения от imedia
 
Регистрация: 20.05.2014
Сообщений: 292

Это просто опечатка responce, спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить якорь из url okinadok Элементы интерфейса 19 05.07.2016 11:44
Получить данные JSON без jQUERY strongest Javascript под браузер 17 19.01.2014 20:07
Как получить список элементов в localStorage? Бобр Общие вопросы Javascript 8 17.09.2013 14:32
Json ответ, работа с data SergeyMiracle AJAX и COMET 7 03.07.2013 19:29
Как получить raw data с image? lyapharov Общие вопросы Javascript 2 07.04.2011 00:20