01.02.2016, 21:50
|
Интересующийся
|
|
Регистрация: 01.02.2016
Сообщений: 21
|
|
Сообщение от laimas
|
Тип принимаемых данных в запросе изменить на text, запрос парсить средствами JS - JSON.parse с обработкой исключительных ситуаций. Уверен, что будет ошибка.
В каком браузере отладка?
|
Mozilla FireFox -> делаю отладку тут. А по поводу JSON.parse, на сколько я знаю что не обязательно использовать данную функцию, если в параметрах отправки указать dataType: 'json'
|
|
01.02.2016, 21:50
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Оригинальный код - а где вызов функции?
|
|
01.02.2016, 21:52
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от sergei1094
|
А по поводу JSON.parse, на сколько я знаю что не обязательно использовать данную функцию, если в параметрах отправки указать dataType: 'json'
|
А вы читаете что вам пишут? JQ вообще тупо промолчит, если самому не побеспокоится, в случае, если парсинг json завершится ошибкой.
|
|
01.02.2016, 21:55
|
Интересующийся
|
|
Регистрация: 01.02.2016
Сообщений: 21
|
|
Сообщение от laimas
|
Оригинальный код - а где вызов функции?
|
Вызов функции висит на onclick по ссылке, вот оригинальный код:
function DeleteUs(data) {
var user = data;
var pass;
var title = "Введите пароль администратора";
var result = prompt(title, pass);
if(result) {
$.ajax({
url: "test.php",
type: "POST",
data: {password: result},
dataType: 'json',
success: function (data) {
var result = data;
alert(result.name);
console.log(result.name);
}
});
}
}
|
|
01.02.2016, 22:02
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
А причем тут событие? Действие по умолчанию блокируется, если что-то да есть, и ладно, а так это не важно.
Значит так - не получить объект как результат обработки json в JQ можно либо когда ответа нет (null от сервера), либо данные невалидный json. Как можно проверить написано выше. В FF в отладчике отлично видно и запросы, и ответы сервера, а если их не видим, то их и нет.
|
|
01.02.2016, 22:03
|
Интересующийся
|
|
Регистрация: 01.02.2016
Сообщений: 21
|
|
Изменил на JSON.parse(data); При всём текущем положении, теперь в отладке показывается отправка данных, но ответ приходит пустым
....
type: 'json',
success: function (data) {
var result = JSON.parse(data);
alert(result.name);
console.log(result.name); // распарсим JSON
}
|
|
01.02.2016, 22:04
|
Интересующийся
|
|
Регистрация: 01.02.2016
Сообщений: 21
|
|
Сообщение от laimas
|
А причем тут событие? Действие по умолчанию блокируется, если что-то да есть, и ладно, а так это не важно.
Значит так - не получить объект как результат обработки json в JQ можно либо когда ответа нет (null от сервера), либо данные невалидный json. Как можно проверить написано выше. В FF в отладчике отлично видно и запросы, и ответы сервера, а если их не видим, то их и нет.
|
Но ведь алерты долетали до меня
|
|
01.02.2016, 22:06
|
Интересующийся
|
|
Регистрация: 01.02.2016
Сообщений: 21
|
|
oops Глянул сейчас в консоль, а там вот это:
JSON.parse: unexpected character at line 1 column 1 of the JSON data
т.е. ругается на вот эту строку получается
var result = JSON.parse(data);
Я как то не правильно сделал, да?
|
|
01.02.2016, 22:16
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Да что вы зациклились на клиенте - ошибку надо искать на сервере, там она 100%. Ну сколько можно в ступе толочь - проверять и анализировать ответы сервера всеми доступными способами.
С этим затруднения, так что мешает на время сделать обычный GET запрос, обработать его и результат сразу в браузер? Ajax для выяснения этого и не нужен.
|
|
01.02.2016, 22:18
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от sergei1094
|
JSON.parse: unexpected character at line 1 column 1 of the JSON data
|
Сервер отдает не json, а смесь ежика с колючей проволокой. Вам об этом не раз говорилось - ошибки на сервере, ищите.
|
|
|
|