2013-08-26 3 views
-1

Мой ответ Заголовок являетсяКак избавиться от ошибки JSON в Firefox

Access-Control-Allow-Meth... GET, POST 
Access-Control-Allow-Orig... * 
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Connection Keep-Alive 
Content-Length 81 
Content-Type text/html 
Date Mon, 26 Aug 2013 06:35:53 GMT 
Expires Thu, 19 Nov 1981 08:52:00 GMT 
Keep-Alive timeout=5, max=99 
Pragma no-cache 
Server Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7 
X-Powered-By PHP/5.4.7` 

И Запрос заголовка является

Accept application/json, text/javascript, */*; q=0.01 
Accept-Encoding gzip, deflate 
Accept-Language en-US,en;q=0.5 
Cache-Control no-cache 
Connection keep-alive 
Content-Length 31 
Content-Type application/x-www-form-urlencoded; charset=UTF-8 
Cookie USERNAMEEMAIL=shan%40atlos.com; PHPSESSID=8asm46iltcqc9oahsbaaap1c16 
Host localhost 
Pragma no-cache 
Referer http://localhost/test/ 
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0 
X-Requested-With XMLHttpRequest` 

я получаю сообщение об ошибке в Firefox «Не хорошо сформировавшимися», что является проблема в этом. я получаю данные правильно в виде JSON, но это показывает также, что ошибка очень раздражает

Java Script код, чтобы сделать запрос GetTopNotification и использует класс для Ajax сделать запрос является Workspace

+0

Заполните JSON, который дает ошибку, пожалуйста. –

+0

@MikeW Я получаю это в ответ '{" success ":" true "," friends ":" 0 "," уведомления ":" 0 "," messages ":" 0 "," reirect ":" 0 "}' – Blu

ответ

0

Ваш reponse- неправильный заголовок.

if(headers_sent()) die('Should not output data before json'); 
header('Content-type: application/json'); 
echo json_encode($data_for_json); 
exit; 

Кроме того, ничего не следует отправлять перед json, и после него ничего не происходит.


В ответ на комментарий ниже:

Где-то в вашем PHP-коде вы выводя JSON. Однако, как указано, ваш заголовок ответа неверен: часть Content-type должна быть установлена ​​в application/json; приведенный выше код делает именно это. Линия-линией walktrough:

  1. Проверки, если вы уже не послать что-нибудь и умереть, если вы сделали
  2. Установите Content-type часть вашего заголовка ответа на соответствующий мим типа
  3. Выведите JSon (как это в настоящее время, должно быть хорошо)
  4. выход;

Более обновление ИРТ комментарии

Вы создаете вашу строку JSON вручную: что-то я могу искренне совет против, использовать массив или объект, а затем использовать json_encode создать вам JSON. Я также добавил output_buffering над вашим кодом, на всякий случай.

Дайте ему попробовать, новый код here


Update три

В работе-space.js Заменить эту строку

self.responseValue = self.getValueFromResponse(jqXHR); 

С этим

if(type != 'xml') self.responseValue = data; 
else self.responseValue = self.getValueFromResponse(jqXHR); 

s очистите кеш и повторите попытку.

+0

Что это и что с ними делать? – Blu

+0

Недостаточно места в комментариях, поэтому я обновил ответ; надеюсь, что это очистит его для вас – vollie

+0

Та же проблема все равно должна ли я отправить ссылку на этот файл php в текстовой форме, чтобы вы могли видеть этот файл? @vollie – Blu

Смежные вопросы