有一段时间没有触及Javascript,无法找到从JSON对象中提取数据的正确方法。 所以我基本上向Giphy API发送了一个简单的GET请求,并尝试从响应中获取URL,但由于某种原因,我得到了各种错误。 这就是我试过的:
$(function() {
$('#searchButton').click(function() {
console.log("test");
$("#result").append("test<br />");
var xhr = $.get("http://api.giphy.com/v1/gifs/search?q=cats&api_key=dc6zaTOxFJmzC&limit=1");
xhr.done(function(data) {
console.log(this.fixed_height);
$("#result").append("success got data<br />" + data + "<br />");
console.log("success got data", data);
$.each(data.results, function() {
$.each(this.images, function() {
console.log(this.fixed_height);
$("#result").append(this.fixed_height + "<br />");
});
})
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="searchButton">search!</button>
<div id="result"></div>
答案 0 :(得分:1)
你有几个问题。首先,data
对象中没有data
成员。我唯一能看到你可以在数据对象中迭代的东西是另一个images
成员。其次,在fixed_height
内,没有height
,只有var xhr = $.get("http://api.giphy.com/v1/gifs/search?q=cats&api_key=dc6zaTOxFJmzC&limit=1");
xhr.done(function (data) {
$.each(data.data, function () {
$.each(this.images, function () {
console.log(this.height);
});
})
});
。这有效:
$(function () {});
在JSFiddle中不需要记住var xhr = $.get("http://api.giphy.com/v1/gifs/search?q=cats&api_key=dc6zaTOxFJmzC&limit=1");
xhr.done(function (data) {
$.each(data.data, function () {
console.log(this.images.fixed_height.url);
})
});
,所以你必须提供(就像你在上面提到的代码中所做的那样)。
修改强>: 要获得固定高度的网址,请尝试以下方法:
public ActionResult TechSearchTickets()
{
ViewBag.StatusId = new SelectList(db.TicketStatuses, "UserId", "FullName");
ViewBag.UserId = new SelectList(db.Users
.Where(u => u.Status == 1 || u.RoleID == new Guid("00000000-0000-0000-0000-000000000000")), "UserId", "FullName");
ViewBag.TechId = new SelectList(db.Users
.Where(u => u.Status == 1 || u.RoleID == new Guid("00000000-0000-0000-0000-000000000000")), "UserId", "FullName");
return View();
}
[HttpPost]
public ActionResult TechSearchTickets(SearchTickets searchTickets)
{
var model = db.Tickets
.Include(t => t.TicketNotes)
if (searchTickets.TechnicianId != null)
{
.Where(t => t.TechnicianId == g)
}
.Where(t => t.TicketStatusId == new Guid("553F4C93-4A72-44BD-A9CE-FAB4F87D4E08"))
.OrderBy(t => t.OpenDate)
.ToList();
return View("TechClosed", model);
return View();
}
这个网址似乎只有一个,属于图片。