2011-10-17 33 views
0

我有以下Ajax調用在我的JavaScript代碼如何從成功的AJAX調用中訪問jqXHR對象的responseText?

url = 'http://news.ycombinator.com/?callback=?'; 
$.ajax({url:url ,async:!1,dataType:'script', complete:function(result) 
            {alert(JSON.stringify(result));} 
     }); 

下面是警報打印出來。

{'readyState':4, status:200, statusText:'success'} 

它沒有responseText.But的是,在Chrome控制檯我可以看到所有ycombinator page.How返回HTML數據,我可以訪問此文字?

,如果我的網址變量更改爲它返回像下面的一個有效的JSON對象的URL另一方面,

urll = 'http://gdata.youtube.com/feeds/api/videos?q=basshunter&format=5&max-results=5&v=2&alt=jsonc'; 
$.ajax({url:urll ,async:!1, complete:function(result) 
            {alert(JSON.stringify(result));} 
     }); 

這將返回所有的responseText的預期。

有一點需要注意的是,如果我沒有將url指向有效的JSON返回url,如第一種情況,我必須提供選項dataType:'script'(或JSON)。否則,域請求錯誤。第二種情況,即使我沒有指定dataType,它也不會引發任何跨域錯誤。

+0

'responseText'可能是繼承自對象原型。嘗試'alert(result.responseText)' – Tetaxa

+0

,返回'undefined'! – Sravan

+0

似乎工作http://jsfiddle.net/X7WAj/ – Tetaxa

回答

1

替換您的完成回撥成功成功當ajax請求成功完成時執行回調。

而且在你的dataType使用,而不是「腳本」 「JSON」如果你,如果你在的dataType使用「json的」使用「腳本」在的dataType它會返回像"{\"key\":\"value\"}".

將返回像{"key":"value"}.

+0

是的我最初嘗試成功,它根本不會顯示警告框!!但是,我仍然可以在控制檯中看到數據。 – Sravan

相關問題