所以我已按照自己的意愿完成了我的网站,现在我只是在最后一点收到错误消息,如果找不到我的电影。所以这意味着我有一个返回JSON的API。如果一个人写了无效的电影,如" ifeahaef"它返回null,我想知道是否有可能在Jquery中犯一个类似"没有找到电影的错误!"喜欢在搜索栏下面?现在我的网站看起来像这样
这就是我想要的方式
我不知道我的代码是否必要,但我可以发布我的JS以防万一,也许会更容易看到。
function callAjax(input)
{
var url = "http://localhost:1337/search/" + input;
$.ajax({
type:'GET',
url: url,
success: function(data)
{
console.log('SUCCESS');
$('#title').html("Title: " + data.title);
$('#release').html("Release: " + data.release);
$('#vote').html("Vote: " + data.vote);
$('#overview').html("Overview: " + data.overview);
$('#poster').html('<img src="' + data.poster + '" width=250 height=450 />');
$('#trailer').html("Trailer: <iframe width='420' height='315' src='https://www.youtube.com/embed/" + data.trailer + "' frameborder='0' allowfullscreen>");
},
error: function(request, status, err)
{
console.log('ERROR');
}
});
}
$(document).ready(function(){
$('#submitButton').on('click', function(e){
e.preventDefault();
var input = $('#s').val();
callAjax(input);
});
});
HTML:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MovieTrailerbase</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
</head>
<body>
<div id="page">
<h1>The MovieTrailer search</h1>
<form id="searchForm" method="post">
<fieldset>
<input id="s" type="text" />
<input type="submit" value="Submit" id="submitButton" />
<div id="searchInContainer">
<input type="radio" name="check" value="site" id="searchSite" checked />
<label for="searchSite" id="siteNameLabel">Search movie</label>
<input type="radio" name="check" value="web" id="searchWeb" />
<label for="searchWeb">Search series</label>
</div>
</fieldset>
</form>
<aside>
<div id="title"></div>
<div id="release"></div>
<div id="vote"></div>
<div id="overview"></div>
<br>
<div id="trailer"></div>
</aside>
<div id="poster"></div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="script.js"></script>
</html>
答案 0 :(得分:1)
作为一个简单的理解,如果任何API现在抛出错误,它被认为是成功的。现在你能做的就是处理这种情况,如
SELECT is_accountant from users where customer_id='cus_4znUZe3lAy26FT'
一种简单的方法是在HTML中添加错误标签
deleted_users
答案 1 :(得分:0)
1)在服务器的JSON返回对象中包含Error
字段。您的JSON对象必须包含以下字段:
title
release
vote
overview
poster
trailer
Error
2)您必须使用服务器端语言执行以下操作:
如果找到电影,则创建一个包含电影数据和Error = false
的JSON,并用电影数据填充剩余的JSON。
2.1。否则使用Error = true
创建JSON。无需填写其他字段
将JSON返回给客户端
3)然后在您的Ajax success
回调中查看是否存在错误:
$.ajax({
type:'GET',
url: url,
success: function(data){
if(!data.Error){
console.log('SUCCESS');
$('#title').html("Title: " + data.title);
$('#release').html("Release: " + data.release);
$('#vote').html("Vote: " + data.vote);
$('#overview').html("Overview: " + data.overview);
$('#poster').html('<img src="' + data.poster + '" width=250 height=450 />');
$('#trailer').html("Trailer: <iframe width='420' height='315' src='https://www.youtube.com/embed/" + data.trailer + "' frameborder='0' allowfullscreen>");
}else{
alert("Movie not found");
}
},
error: function(request, status, err){
console.log('ERROR');
}
});
}
答案 2 :(得分:0)
不确定您的回复结构如何。但我的目标是这样的。
if(data.length <= 0 || data == null){
$('#element-to-add-message-to').html('No titles found....');
return;
}