jQuery, AJAX - тип контента: application / json - работает ли он во всех браузерах? - PullRequest
0 голосов
/ 18 января 2011

Вот как я обрабатывал свой Ajax до сих пор:

@header("Content-Type: text/html; charset=".get_option('blog_charset'));

и js:

$.ajax(....
  ...
  success: function(response){
    var obj = eval('('+response+')'); 
    if(obj.somedata == ....)
  ...

И теперь я хочу использоватьapplication/json как тип контента, поэтому javascript изменяется на:

$.ajax(....
  ...
  success: function(response){
    if(response.somedata == ....)
  ...

Выглядит лучше :) Но мне интересно знать, будет ли это работать во всех браузерах?До сих пор он тестировался нормально в FF, Opera и IE 8.

Ответы [ 3 ]

2 голосов
/ 18 января 2011

Да, это работает, пока ваш сервер отправляет правильный тип контента (application / json) и правильно отформатированные данные JSON.

Также для безопасности вы можете указать тип данных ответа:

$.ajax({
    dataType: 'json',
    success: function(response) {
        if(response.somedata == ....
    }
});
1 голос
/ 18 января 2011

да.JSON не столько зависит от браузера, сколько зависит от Javascript, поэтому, если у вас есть браузер (любой браузер) с полной реализацией javascript, он будет поддерживать JSON. см. Здесь

1 голос
/ 18 января 2011

Метод .getJSON также работает во всех браузерах =).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...