为什么我在获取视频数据时收到错误 404?
Why am i receiving error 404 when fetching video data?
我正在尝试显示代码文件夹中 mp4 格式的视频。当我尝试通过单击按钮获取视频时,它显示一个空 space 但不显示视频。display of the output
我从控制台收到的错误:GET http://127.0.0.1:8080/myapi/myapi1/undefined 404(未找到)
下面是 url 显示 json 数据:
http://localhost:8080/myapi/myapi1/user/1
上面的link显示:
{"videoName":"video.mp4"}
获取视频并使用 ajax 显示的代码:
$('#room1').on('click',function (e){
$.ajax({
method: "GET",
cache: false,
dataType: "json",
url: "http://localhost:8080/myapi/myapi1/user/1",
success: function(data) {
var student = '';
// ITERATING THROUGH OBJECTS
$.each(data, function (key, value) {
// DATA FROM JSON OBJECT
student += '<video height="603"';
student += 'src="' +
value.videoName + '" autoplay loop muted></video>';
});
$('#video').append(student);
},
error:function(exception){alert('Exeption:'+exception);}
})
e.preventDefault();
});
因此,您正在获取的数据采用 JSON 编码格式。所以你需要将它解析为一个 JS 对象。像这样:data = JSON.parse(data)
在你的 success
函数中。
(1) 由于您只返回了一个数据项,请将成功块更改为:
success: function(data) {
var student = '';
// ITERATING THROUGH OBJECTS
$.each(data, function (key, value) {
// DATA FROM JSON OBJECT
student += '<video height="603"';
student += 'src="' +
value.videoName + '" autoplay loop muted></video>';
});
$('#video').append(student);
},
到
success: function(data) {
var student = '';
// DATA FROM JSON OBJECT
student += '<video height="603"';
student += 'src="' +
data.videoName + '" autoplay loop muted></video>';
$('#video').append(student);
},
data.videoName已经是你需要的数据(视频文件名)
(2) 然而,如果你有多个数据,像下面这样:
[{"videoName":"video.mp4"}, {"videoName":"video1.mp4"}]
那么您可以使用以下内容:
success: function(data) {
var student = '';
for (var x = 0; x < data.length; x++) {
// DATA FROM JSON OBJECT
student += '<video height="603"';
student += 'src="' +
data[x].videoName + '" autoplay loop muted></video>';
}
$('#video').append(student);
},
data[index].videoName将是每个index
的数据(视频文件名)
(3) 如果您仍然喜欢使用键/值对,正确的语法如下:
$.each(data, function (key, value) {
alert(data[key].videoName);
})
我正在尝试显示代码文件夹中 mp4 格式的视频。当我尝试通过单击按钮获取视频时,它显示一个空 space 但不显示视频。display of the output
我从控制台收到的错误:GET http://127.0.0.1:8080/myapi/myapi1/undefined 404(未找到)
下面是 url 显示 json 数据: http://localhost:8080/myapi/myapi1/user/1
上面的link显示:
{"videoName":"video.mp4"}
获取视频并使用 ajax 显示的代码:
$('#room1').on('click',function (e){
$.ajax({
method: "GET",
cache: false,
dataType: "json",
url: "http://localhost:8080/myapi/myapi1/user/1",
success: function(data) {
var student = '';
// ITERATING THROUGH OBJECTS
$.each(data, function (key, value) {
// DATA FROM JSON OBJECT
student += '<video height="603"';
student += 'src="' +
value.videoName + '" autoplay loop muted></video>';
});
$('#video').append(student);
},
error:function(exception){alert('Exeption:'+exception);}
})
e.preventDefault();
});
因此,您正在获取的数据采用 JSON 编码格式。所以你需要将它解析为一个 JS 对象。像这样:data = JSON.parse(data)
在你的 success
函数中。
(1) 由于您只返回了一个数据项,请将成功块更改为:
success: function(data) {
var student = '';
// ITERATING THROUGH OBJECTS
$.each(data, function (key, value) {
// DATA FROM JSON OBJECT
student += '<video height="603"';
student += 'src="' +
value.videoName + '" autoplay loop muted></video>';
});
$('#video').append(student);
},
到
success: function(data) {
var student = '';
// DATA FROM JSON OBJECT
student += '<video height="603"';
student += 'src="' +
data.videoName + '" autoplay loop muted></video>';
$('#video').append(student);
},
data.videoName已经是你需要的数据(视频文件名)
(2) 然而,如果你有多个数据,像下面这样:
[{"videoName":"video.mp4"}, {"videoName":"video1.mp4"}]
那么您可以使用以下内容:
success: function(data) {
var student = '';
for (var x = 0; x < data.length; x++) {
// DATA FROM JSON OBJECT
student += '<video height="603"';
student += 'src="' +
data[x].videoName + '" autoplay loop muted></video>';
}
$('#video').append(student);
},
data[index].videoName将是每个index
的数据(视频文件名)(3) 如果您仍然喜欢使用键/值对,正确的语法如下:
$.each(data, function (key, value) {
alert(data[key].videoName);
})