这是我到目前为止处理我的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中测试好了。
答案 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