想象一下,我运行这个:
$.ajax({ type: 'POST',url: '/ajax/watch.PHP',data: {'watch':'aukcia','id':aukciaID},complete: function(responseText){ alert(responseText); } });
在/ajax/watch.PHP里面,假设我有这个:
echo 'this is what I want';
并且警报(responseText)返回:
[object Object]
而不是我需要的文本字符串.
有什么帮助吗?
解决方法
看起来你的jQuery以某种方式返回XMLHttpRequest对象,而不是你的响应.
如果是这种情况,你应该询问它的responseText属性,如下所示:
$.ajax({ type: 'POST',complete: function(r){ alert(r.responseText); } });
但是,如果这不起作用,您实际上可能正在接收JSON响应,并且您看到的[object Object]可能是您的浏览器对JSON响应的表示.
您应该能够通过浏览对象属性来检查其内容.但是,如果您愿意,还可以通过在调用中包含dataType:’text’来告诉jQuery不要解析您的JSON响应:
$.ajax({ type: 'POST',dataType: 'text',complete: function(data){ alert(data); } });
有关更多信息,请参阅:http://api.jquery.com/jQuery.ajax/