2013-02-10 41 views
1
$(document).ready(function() { 
     var path = null; 
     console.log('${pageContext.request.contextPath}/loadfile'); 
     $.ajax({ 
       dataType: "json", 
       url: '${pageContext.request.contextPath}/loadfile', 
       success: function(data){ 
       $.each(data,function(index,obj){ 
        console.log(obj.id); 
        alert('inside'); 
        path = obj.path; 
       }); 
       }  
       }); 

here/loadfile是返回json对象的url,当我转到此url时,我能够看到打印在html页面上的JSON对象,但是当我访问包含上面的JavaScript代码的页面时,我没有得到相同的结果我无法接收从我的servlet发送的json对象

+1

你在开发工具中看到了什么? – SLaks 2013-02-10 14:09:27

+1

'console.log(data)'显示什么? – 2013-02-10 14:09:48

+0

它们是否在开发工具的网络选项卡中有任何请求,它的响应是什么? – edi9999 2013-02-10 14:10:26

回答

0

通常人们不会告诉浏览器他们的服务器,他们发送的JSON字符串将被解释为json对象。

尽管dataType:'json'应该将其整理出来,但并非总是如此。

在PHP

header("Content-type: application/json"); 

ASP

Response.AddHeader('Content-Type', 'application/json'); 

做不到这一点,

success: function(data){ 
    if (typeof data!='object') data=$.parseJSON(data); // make sure it's an object 

我想不通为什么jQuery的不修复,但响应头,甚至使用dataType:'json'set可以显示为application/x-www-form-urlencoded; charset=UTF-8并且该对象不会被创建。

相关问题