jQuery,AJAX - 内容类型:application / json - 它适用于所有浏览器吗?

时间:2011-01-17 21:29:05

标签: jquery html ajax json

这是我到目前为止处理我的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 个答案:

答案 0 :(得分:2)

是的,只要您的服务器发送正确的内容类型(application / json)并正确格式化JSON数据,它就会起作用。

另外,为了安全起见,您可以指定响应数据类型:

$.ajax({
    dataType: 'json',
    success: function(response) {
        if(response.somedata == ....
    }
});

答案 1 :(得分:1)

.getJSON方法也适用于浏览器=)。

答案 2 :(得分:1)

是肯定的。 JSON不是特定于浏览器/特定的,因为它是特定于Javascript的,因此假设您有一个浏览器(任何浏览器)具有完整的javascript实现,那么它将支持JSON。 see here