我正在尝试从the following url获取一些JSON数据。我在做这件事上遇到了麻烦。
你看,我正在尝试通过NutriSlice整合学校的午餐菜单。我们使用的是名为RiseVision的数字标牌系统,他们有一个超文本标记语言小部件。当然,这意味着我只能使用超文本标记语言和JavaScript,这使得事情变得更加困难。
我的代码如下:
<!DOCTYPE html>
<html>
<head lang="en">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="UTF-8">
<script src="https://code.jquery.com/jquery-2.2.0.js"></script>
</head>
<body>
<div>test</div>
<script>
$.ajax({type: "get",
url: "https://brf.nutrislice.com/menu/api/digest/school/black-river-falls-high-school/menu-type/lunch/date/2018/10/16/",
data: {method: "getQuote",format: "json",lang: "en"},
dataType: "jsonp",
jsonp: "jsonp",
jsonpCallback: "myJsonMethod"
});
function myJsonMethod(response){
$("div").append(" " + response);
}
</script>
</body>
</html>
没有什么能解决这个问题。什么都不会返回。为什么?我不确定我做错了什么。上面附加的链接显示了我在这里查看的API的Django页面。
非常感谢您的帮助!:)
编辑:
var obj = jQuery.parseJSON( response );
$("div").append(" " + obj.menu_items[0]);
进一步说明:这是我需要的数据中的一个JSON示例。
{"date":"2018-10-16","menu_items":["Taco Meat","Shredded Cheddar","Tortilla Chips","Tortilla Shell"],"images":["https://client-food-images.nutrislice.com/images/WD/WDeTEDdT2YDit97pdpUq7T/1474319790_787275__taco.jpg.1024x0_q85.jpg","https://client-food-images.nutrislice.com/images/eR/eRQamewxbJbFdAAbkUa5UK/1472157292_144997__ShrededCheddarCheese-IGH.jpg.1024x0_q85.jpg","https://client-food-images.nutrislice.com/images/4N/4NrHbqSdtFSa9HjQTM4WwT/1472157795_18851__tortillachips-m.jpg.1024x0_q85.jpg","https://client-food-images.nutrislice.com/images/wx/wx7bT4QGjLD8wNuK9oMtki/1473879858_737966__tortilla.jpg.1024x0_q85.jpg"],"holiday_text":null}
发布于 2018-10-17 01:49:18
这将会起作用
$.ajax({
type: "get",
url: "https://brf.nutrislice.com/menu/api/digest/school/black-river-falls-high-school/menu-type/lunch/date/2018/10/16/",
data: {
method: "getQuote",
format: "json",
lang: "en"
},
dataType: "json",
success: function(response) {
console.log(response); // check the console
$(".s").append(" " + response)// this will not work properly
}
});
请记住,您正在尝试将json对象添加到html文档中,这将不会很好地显示,您将必须获取这些数据并以这样的方式使用它们,以便它们在div中正确显示。
发布于 2018-10-17 01:57:48
检查控制台(右键单击页面,然后检查元素)。你可能会看到类似这样的东西:
看起来您遇到了一种专门设计来防止您试图执行的操作的保护,即从未知位置发送对页面数据的请求。我不是CORB方面的专家,但希望这篇文章能为您指明正确的方向。
https://stackoverflow.com/questions/52840988
复制相似问题