2013-02-10 42 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並且該對象不會被創建。

相關問題