ajax跨域访问,??数据混乱??。
程序员文章站
2023-12-26 16:15:09
...
我也无法描述清楚,直接上代码吧
根据id获取文章
/api/article/getOne?id=' + id
数据
{
"code": 200,
"data": {
"id": "17",
"cateId": "2",
"name": "视频",
"studioId": "2",
"title": "wegwg网服务范围",
"content": "<p><b>gw3g3wg3wg</b></p><p><b>3wgf</b></p><p><b>gf3wg</b></p>",
"createdAt": "2016-09-06 16:18:05"
}
}
获取所有文章分类
/api/category/get
数据
{
"code": 200,
"data": [
{
"id": "1",
"name": "推荐"
},
{
"id": "2",
"name": "视频"
},
{
"id": "3",
"name": "瘦身"
},
{
"id": "4",
"name": "隐私"
}
]
}
上面的接口单独调用正常,问题出现在下面。应用的场景是:载入编辑页面时,调用接口,获得数据填充到页面。
页面真实代码
//编辑文章,载入页面时,获取编辑数据并填充页面
$.ajax({
url: '/api/article/getOne?id=' + id, //获取某条文章的信息
type: 'get',
dataType: 'json',
beforeSend: function () {
$('#show_load').show();
},
success: function (article) {
console.log(article);
if (article.code != 200) return false;
$('#title').val(article.data.title); //文章标题
const content = htmlspecialchars_decode(article.data.content);
$('#summernote').summernote('code', content); //文章内容
$.ajax({
url: '/api/category/get', //获取所有分类
type: 'get',
dataType: 'json',
beforeSend: function () {
$('#show_load').show();
},
success: function (categorys) {
console.log(categorys); //问题出现在这里,打印出来的id全部为
if (categorys.code != 200) return false;
$('#categoryId').empty();
$('#categoryId').append(``);
categorys.data.forEach(function (v) {
if(v.id = article.data.cateId){
$('#categoryId').append(``)
}else{
$('#categoryId').append(``)
}
})
},
complete: function () {
$('#show_load').hide();
}
});
},
complete: function () {
$('#show_load').hide();
}
});
这时打印出来的数据如下:所有分类id全部变成“1”了。原来的文章分类id也确实是“1”。但是这里全部都变成1了,到底怎么回事?
{
"code": 200,
"data": [
{
"id": "1",
"name": "推荐"
},
{
"id": "1",
"name": "视频"
},
{
"id": "1",
"name": "瘦身"
},
{
"id": "1",
"name": "隐私"
}
]
}
之前这样写是可以正常工作的。但是今天不知道为什么变成这样了。迷茫了,^$^。
回复内容:
我也无法描述清楚,直接上代码吧
根据id获取文章
/api/article/getOne?id=' + id
数据
{
"code": 200,
"data": {
"id": "17",
"cateId": "2",
"name": "视频",
"studioId": "2",
"title": "wegwg网服务范围",
"content": "<p><b>gw3g3wg3wg</b></p><p><b>3wgf</b></p><p><b>gf3wg</b></p>",
"createdAt": "2016-09-06 16:18:05"
}
}
获取所有文章分类
/api/category/get
数据
{
"code": 200,
"data": [
{
"id": "1",
"name": "推荐"
},
{
"id": "2",
"name": "视频"
},
{
"id": "3",
"name": "瘦身"
},
{
"id": "4",
"name": "隐私"
}
]
}
上面的接口单独调用正常,问题出现在下面。应用的场景是:载入编辑页面时,调用接口,获得数据填充到页面。
页面真实代码
//编辑文章,载入页面时,获取编辑数据并填充页面
$.ajax({
url: '/api/article/getOne?id=' + id, //获取某条文章的信息
type: 'get',
dataType: 'json',
beforeSend: function () {
$('#show_load').show();
},
success: function (article) {
console.log(article);
if (article.code != 200) return false;
$('#title').val(article.data.title); //文章标题
const content = htmlspecialchars_decode(article.data.content);
$('#summernote').summernote('code', content); //文章内容
$.ajax({
url: '/api/category/get', //获取所有分类
type: 'get',
dataType: 'json',
beforeSend: function () {
$('#show_load').show();
},
success: function (categorys) {
console.log(categorys); //问题出现在这里,打印出来的id全部为
if (categorys.code != 200) return false;
$('#categoryId').empty();
$('#categoryId').append(``);
categorys.data.forEach(function (v) {
if(v.id = article.data.cateId){
$('#categoryId').append(``)
}else{
$('#categoryId').append(``)
}
})
},
complete: function () {
$('#show_load').hide();
}
});
},
complete: function () {
$('#show_load').hide();
}
});
这时打印出来的数据如下:所有分类id全部变成“1”了。原来的文章分类id也确实是“1”。但是这里全部都变成1了,到底怎么回事?
{
"code": 200,
"data": [
{
"id": "1",
"name": "推荐"
},
{
"id": "1",
"name": "视频"
},
{
"id": "1",
"name": "瘦身"
},
{
"id": "1",
"name": "隐私"
}
]
}
之前这样写是可以正常工作的。但是今天不知道为什么变成这样了。迷茫了,^$^。
/api/category/get 这个获取所有分类的链接,你重新确认下(试着直接在浏览器中直接放上这个链接,看输出的内容是否id都为1,我看一般全都是1,像这种问题基本上可以被认为是后台获取分类的代码出错...)