как получить ответ аякс 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, время: 04:41. |