在当前页面上查找类并运行函数

时间:2014-08-21 21:50:08

标签: javascript jquery ajax

完全脱离了我的舒适区,我112%肯定我到目前为止所做的绝对垃圾和错误。我之前从未使用过ajax,谷歌也很混乱,所以我希望有一点知识的人可以帮忙!!

基本上我想要做的是搜索特定类的URL。如果url有该类,那么我想在当前页面上运行一个函数。

所以在我的例子中。我想在play.com上检查一部电影是否有货。如果它有库存(确实如此),我希望我的边框变为红色。

我在这里摆弄了它: http://jsfiddle.net/3Lmk8wdx/

这是我的代码 - 抱歉,如果它是疯狂的错误!!

$.ajax({
    dataType: 'text',
    type: 'GET',
    url: 'http://www.play.com/stores/EntertainmentStore/listing/747490324',
    success: function(result) {
        var $stockLevel = $(result).find('.mtm');
        if ($($stockLevel).hasClass('in-stock')){
            $('#container').addClass('.active');
        }
    }
});

任何帮助都会非常感激,我可笑地混淆!!

1 个答案:

答案 0 :(得分:1)

无法将AJAX(XMLHttpRequest)请求发送到其他域。 JSONP实际上是克服XMLHttpRequest相同域策略的一个简单技巧。因此,您需要使用jsonp作为数据类型。

所以试试这个:

$.ajax({
  dataType: 'jsonp',
  type: 'GET',
  url: 'http://www.play.com/stores/EntertainmentStore/listing/747490324',
  success: function(result) {
    var $stockLevel = $(result).find('.mtm');
    if ($($stockLevel).hasClass('in-stock')){
        $('#container').addClass('.active');
    }
  }
});

使用此数据类型,ajax希望jsonp回答,因此请求应返回jsonp形式的内容。在这种特殊情况下,ajax请求返回以<!document>...开头的整个html文档。这就是为什么控制台中的错误:

Uncaught SyntaxError: Unexpected token <