我正在尝试显示此get请求的结果,但未返回任何结果或错误。
即使在测试时,我也尝试过硬编码并附加<li>my job</li>
,但这也不起作用。
你有什么主意吗?
这是我的代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(function (){
var $jobs = $('#jobs');
$.ajax({
type: 'GET',
dataType: 'json',
username: '5afe0f90-3480-4d47-8206-3529815a610a',
password: '',
crossDomain: true,
url: 'http://www.reed.co.uk/api/1.0/search?keywords=construction&location=sheffield',
success: function(jobs) {
$.each(jobs, function(i, job){
$jobs.append('<li>my job</li>')
});
}
});
});
</script>
<ul id="jobs"></ul>
答案 0 :(得分:0)
除成功回调外,其他一切看起来都不错。您有两种选择,下面请看一下以了解您的需求更好的套件。
选项1:使用arrow function expression
$(function (){
var $jobs = $('#jobs');
$.ajax({
type: 'GET',
dataType: 'json',
username: '5afe0f90-3480-4d47-8206-3529815a610a',
password: '',
crossDomain: true,
url: 'http://www.reed.co.uk/api/1.0/search?keywords=construction&location=sheffield',
success: (jobs) => {
$.each(jobs, function(i, job){
$jobs.append('<li>my job</li>')
});
}
});
});
选项2:将$jobs
的定义移到回调中的相同上下文中或将其删除。
$(function (){
$.ajax({
type: 'GET',
dataType: 'json',
username: '5afe0f90-3480-4d47-8206-3529815a610a',
password: '',
crossDomain: true,
url: 'http://www.reed.co.uk/api/1.0/search?keywords=construction&location=sheffield',
success: function(jobs) {
$.each(jobs, function(i, job){
$('#jobs').append('<li>my job</li>')
});
}
});
});
说明:
这是由于上下文在定义变量的位置不同而引起的。使用function
定义,它将使用自己的上下文,使用arrow function
定义,它将使用当前上下文。
如果仍然有问题,请检查控制台,以查看服务器响应代码,CORS
,Mixed Content
等是否产生任何错误。
答案 1 :(得分:0)
您需要在options对象中进行错误回调:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(function (){
var $jobs = $('#jobs');
$.ajax({
type: 'GET',
dataType: 'json',
username: '5afe0f90-3480-4d47-8206-3529815a610a',
password: '',
crossDomain: true,
url: 'http://www.reed.co.uk/api/1.0/search?keywords=construction&location=sheffield',
success: function(jobs) {
$.each(jobs, function(i, job){
$jobs.append('<li>my job</li>')
});
},
error: (err)=> {alert(err)}
});
});
</script>
<ul id="jobs"></ul>
除了成功以外,还有四种返回状态:
因此,您可能需要检查所有这些内容,以确定处理每个响应的最佳方法。 :)