我无法接收从我的servlet发送的json对象
问题描述:
$(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对象
答
通常人们不会告诉浏览器他们的服务器,他们发送的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
并且该对象不会被创建。
你在开发工具中看到了什么? – SLaks 2013-02-10 14:09:27
'console.log(data)'显示什么? – 2013-02-10 14:09:48
它们是否在开发工具的网络选项卡中有任何请求,它的响应是什么? – edi9999 2013-02-10 14:10:26