我正在尝试使用$ .get()函数从页面获取数据,然后通过jQuery解析数据,例如获取所有图像,然后将其放入用户页面的主体中。
$.get("/character/hats").done(function(data) {
//$("body").prepend(data);
/*data?*/$(".card > .card-body .col-md-4").each(function(){
let hatdata=$(data).find('pull-left').html;
let hatid=0;
$("body").prepend('<p>found!</p><div>'+hatdata+'</div>');
let assetcode=0;
console.log("I see hat id" + "");
});*/
});
有没有办法使用$ .get中的jQuery数据响应,并再次使用jQuery解析它?
答案 0 :(得分:1)
要访问从$.get
发回的数据,您只需要引用它。您不应该使用$()
将其转换回jQuery对象。
以下是获取JSON响应的示例。
$.get('https://httpbin.org/get').done(function(data) {
console.log(data); // data is a variable which contains a parsed JSON response to a javascript object.
console.log(data.url);
});
您可以在此处查看回复的内容:https://httpbin.org/get
如果服务器的响应不是JSON,则需要执行其他操作。
如果回复是HTML,您可以这样做:
$.get('https://httpbin.org').done(function(data) {
console.log(data); // data is now a string of html, which you can insert other places
$('.some-div').html(data);
});
当您想使用jQuery“查询”页面的DOM时,可以使用 $(...)
。您可以使用常规Javascript查询DOM元素,但不会包含许多有用的方法,例如.find()
或.html()
。所以基本上你将一个元素转换为一个jquery元素,就像类固醇上的javascript一样,并添加了更多的方法。
然而,来自$.get
的响应将是一个对象(如果是JSON)或一串html(如果是HTML)。您可以将HTML字符串转换为jQuery,并解析它,如果这是您想要的。
$(data).find('.some-element-in-response')
答案 1 :(得分:1)
html()
是函数而不是属性名称
变化:
let hatdata=$(data).find('pull-left').html;
要:
let hatdata=$(data).find('pull-left').html();
答案 2 :(得分:0)
是的,你可以用不同的方式做到这一点。你需要改变某种方式并改变一些ajax设置如下:
JAVAOPTS -> -DXyz=123