我正在尝试让jQuery移动应用程序以json格式从服务器读取数据。什么时候我加载页面,出现类似"未捕获语法错误:意外标识符"之类的错误在我的 Chrome 控制台中。我是json和jquery的新手,所以给我任何纠正此错误的建议。提前谢谢。
这是我的Javscript/jQuery:
$(document).ready(function () {
$('#leads-list').click(function () {
$.ajax({
url: 'http://fg.com/rest/view.php?sessid=35e85b084ff41894170a0',
type: 'POST',
dataType: 'jsonp',
jsonp: 'callback',
success: successData,
error: function () {
alert('Error');
}
});
function successData(data) {
var response = data.message;
alert('data=' + response);
}
});
});
我的PHP代码是:
$jsonResponse = Zend_JSON::decode($response['body']);
$rtnobj->message=$jsonResponse;
echo $_GET['callback']. '('. json_encode($rtnobj) . ')';
JSON 响应:
({
"message": {
"success":true,
"result":[
{
"lead_no":"LEA11",
"lastname":"Venu",
"firstname":"Yatagiri",
"company":"RSalesArm IT Services Ltd",
"email":"venu_yatagiri@rsalesarm.com",
"id":"10x125"
}
]
}
})
当我将上面的 json 复制到我的编辑器中时,我看到而不是
"firstname":"Yatagiri",
以下内容:
"firs?tname":"Yatagiri",
。名字中的 S 和 T 之间有一个字符。
这里的视图源代码向我展示了:
firs‌​tname
当这些字符来自您的 PHP 脚本时,您应该删除它们。
我认为你的错误在行中
echo $_GET['callback']. '('. json_encode($rtnobj) . ')';
应改为
echo json_encode( $rtnobj );
要从 JSON 响应创建函数调用,请使用 JavaScript,而不是 PHP。