как получить ответ аякс 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 ответ? |
Запусти вот это
<? //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>"; //} ?> |
Что мне это даст у меня похоже в самом аяксе проблема, может даже пхп файл не находит, что такое callback, может там success вставить?
|
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']." - получено :)"; ?> |
Скажите вот в этом примере что не так, ответ ошибка
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); } } |
imedia,
Честно говоря не знаю :) Работай с js забудь пока JQuery Как изучишь можешь прибегать к помощи этой библиотеки, ведь она нужна только если у тебя нет времени и много работы |
Это общий ответ, извините, у меня конкретная ошибка в консоли
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); |
Это просто опечатка responce, спасибо
|
Часовой пояс GMT +3, время: 13:05. |