当我使用JSON执行我的页面时总是有这样的响应:[object object]
。我在其他帖子中读过的是不存在字段的问题,但是这个错误也出现了评论
$.each(result, function(i, row) {
console.log(JSON.stringify(row));
$('#data-list').append('<li><a href="" data-id="' + row.id+ '"><h3>' + row.nombre + '</h3><p>' + row.denominacion + '</p></a></li>');
});
我的javascript是:
$(document).on('pageinit', '#home', function(){
var stuff = {
id:null,
nombre:null,
precio:null,
denominacion:null
};
var jsonString = JSON.stringify(stuff);
$.ajax({
url: "http://www.domain.com/ws.php?TIPO=OK" ,
crossDomain: true,
type:"GET",
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
async: true,
data: jsonString,
success: function (result) {
alert(result);
$.each(result, function(i, row) {
console.log(JSON.stringify(row));
$('#data-list').append('<li><a href="" data-id="' + row.id+ '"><h3>' + row.nombre + '</h3><p>' + row.denominacion + '</p></a></li>');
});
$('#data-list').listview('refresh');
},
error: function(xhr, status, error){
console.log(status + '; ' + error+ ';');},
jsonpCallback:function(response) {
console.log('callback success'+response);
}
});
});
在webserver中非常简单,只在JSON中做一个select和encapsule,我尝试使用Content-type:application / javascript&#34;和&#34;内容类型:application / json&#34;但同样的结果,这是Web服务代码
<?php
include($DIRCONF . 'conf/VARIABLES.ini.php'); //incluimos configuración
include($DIRCONF . 'JSON.php'); $tipo=$_GET['TIPO']; $json = new Services_JSON;
$conexion = mysql_connect(SERVIDOR_MYSQL, USUARIO_MYSQL, PASSWORD_MYSQL); mysql_select_db(BASE_DATOS, $conexion);
$que = "SELECT * FROM `DATOS`";
$res = mysql_query($que, $conexion) or die(mysql_error());
while ($row = mysql_fetch_assoc($res)) {
$data[] = $row; } //Cerramos la conexion a la base de datos mysql_close($conexion);
//header("Content-type: application/javascript"); header("Content-type: application/json"); echo json_encode($data) ; ?>
答案 0 :(得分:1)
[object object]
是JavaScript在您尝试使用对象时为其提供的内容,就好像它是一个字符串一样。您的代码可能很好,但console.log('callback success'+response);
永远不会记录有用的信息。 可能工作:
console.log('callback success: ' + JSON.stringify(response));
答案 1 :(得分:0)
我可以找到解决方案问题是Webservice,如果你使用jsonp:&#39; jsoncallback&#39;需要在WS中返回$ _GET [&#39; jsoncallback&#39;] JSON对象如果没有放置它,如何找不到任何对象并做错误。
例如:
echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';