我正在使用ajax制作相册。
js code:
$(document).ready(function(){
$('#next').click(function(){
var next = $('#id').text();
$.ajax({
type: 'GET',
url: 'URL', //This I changed for this post
dataType: 'json',
data: { "id" : next},
success: function(data){
alert(data.error);
if(data.error == true)
{
alert(data.msg);
}
else
{
$('#pics').attr({
src : data.src,
witdth : data.width,
height : data.height});
$('#id').text(data.id);
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus +' ' + errorThrown);
}
});
});
});
php文件代码:
if(is_integer($_GET['id']))
{
$error = false;
$next = $_GET['id'] + 1;
switch($_GET['id'])
{
case 1: $jsondata = '{"src" : "picture 01 valid path", ';
$jsondata .= '"width" : xxx, ';
$jsondata .= '"height" : xxx, ';
$jsondata .= ' "id" : '.$next;
break;
case 2: $jsondata = '{"src" : "picture 02 valid path", ';
$jsondata .= '"width" : xxx, ';
$jsondata .= '"height" : xxx, ';
$jsondata .= ' "id" : '.$next;
break;
...+cases...
default: $jsondata = '{"msg" : "An error occured. Please close the tab and enter again. Thanks."';
$error = true;
}
$jsondata .= ', "error" : '.$error.'}';
echo json_encode($jsondata, true);
}
html代码:
使用chrome javascript控制台时,错误是“错误”为空。我正在网上尝试很多组合和可能性而没有任何成功!你能帮我解决这个问题吗?
提前致谢!
P.S。:我仍然不确定这个解决方案是否会浏览相册:S回答这个问题之后还有其他问题..
答案 0 :(得分:0)
您正在PHP代码中创建一个json字符串,因此您无需对其进行编码。
从您的php代码中移除此行echo json_encode($jsondata, true);
,然后只需echo $jsondata
并尝试。
答案 1 :(得分:0)
你不需要做json_encode,所以echo $ jsondata就足够了