Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用GET方法获取对象的href属性_Javascript_Jquery_Get - Fatal编程技术网

Javascript 使用GET方法获取对象的href属性

Javascript 使用GET方法获取对象的href属性,javascript,jquery,get,Javascript,Jquery,Get,我想做的是我认为很容易做的事,但它似乎不起作用。我想获取一个对象的href,函数返回的所有内容都是undefined 我请求并试图检索的是第一个卖家元素中的href(who'sClassNameisui-link-inherit) 起初我认为这是一个权限问题,但即使在页面上运行,它仍然无法工作。该站点不允许跨站点HTTP请求。阅读此处:您不能从该函数返回值,它是异步执行的。相反,只需等待AJAX完成,然后对结果进行处理 // don't do this // var buy = $.get(.

我想做的是我认为很容易做的事,但它似乎不起作用。我想获取一个对象的href,函数返回的所有内容都是
undefined

我请求并试图检索的是第一个卖家元素中的href(who's
ClassName
is
ui-link-inherit


起初我认为这是一个权限问题,但即使在页面上运行,它仍然无法工作。

该站点不允许跨站点HTTP请求。阅读此处:

您不能从该函数返回值,它是异步执行的。相反,只需等待AJAX完成,然后对结果进行处理

// don't do this 
// var buy = $.get(... etc...);
// the variable buy will never have any value

// do this instead
function getHREF(){ 
    $.get(
          "http://m.roblox.com/items/24826737/privatesales/",
          function (data){
              var buy = $(data).find(".ui-link-inherit:eq(0)").attr('href');
              doSomething(buy);
          }
    );
)};

function doSomething(buy) {
    // in here do whatever you want with the ajax data 
}

$(document).ready(function () {
    getHREF();
});

你有没有试着提醒你得到的数据? 如果没有
.ui-link-inherit
ofc,它将不起作用,因为
.ui-link-inherit
似乎是一个jqueryUI类,它在页面通过javascript加载后添加类,因此您无法通过
get


//编辑:我不明白“你不能访问数据,因为ajax是异步的”。他完全正确地使用了快速跳伞。他可以访问
数据
,因为
数据
是从服务器返回的内容。我是不是错过了一些你们都是这样理解的东西?

可能是重复的我尝试了那个问题中建议的几个解决方案,但似乎什么都不起作用。这并不复杂,所以我不确定它到底出了什么问题。不要使用解决方案,仔细阅读答案。当您执行
var buy=
buy时,它并不等于AJAX响应的结果——因为AJAX结果还没有准备好,因为它是异步的。那么这也应该可以工作,但是它不起作用:function getHREF(){$.get(“,function(data){alert($(data)。find(.ui-link-inherit:eq(0)”).attr('href');}getHREF();我在页面上没有看到
.ui链接inherit
元素。我需要登录吗?这可能就是问题所在。仅仅因为你的代码在网站上不起作用,并不意味着你能让它在你的网站上起作用。我不担心它在我的网站上起作用。那不是我原来的问题。好吧,对不起。如果您希望在浏览器中对此特定站点进行ajax调用,那么它必须在同一个域上运行。如果您无法将您的网站发布到此域中,则它将不起作用。如果您转到该页面,这将起作用:
alert($(document).find(“.ui-link-inherit:eq(0)”).attr('href')您是否正在使用控制台执行此Javascipt?如果是ofc,则该类存在,因为它是在DOM加载之后添加的。您是如何在该站点上执行javascript的?我认为您对javascript加载的看法是正确的。如果元素是通过JS加载的,我将无法加载这些元素。如果您是通过ajax加载这方面的内容,我将无法加载这些元素。这意味着您可以在不做任何更改的情况下获得原始html。要获取您想要的元素,您必须搜索该元素的另一条路径。我真的不知道怎么做,但无论如何,感谢
doSomething
函数,我将
alert(buy)仍然不起作用。
// don't do this 
// var buy = $.get(... etc...);
// the variable buy will never have any value

// do this instead
function getHREF(){ 
    $.get(
          "http://m.roblox.com/items/24826737/privatesales/",
          function (data){
              var buy = $(data).find(".ui-link-inherit:eq(0)").attr('href');
              doSomething(buy);
          }
    );
)};

function doSomething(buy) {
    // in here do whatever you want with the ajax data 
}

$(document).ready(function () {
    getHREF();
});