Javascript 在当前页上查找类并运行函数
完全脱离了我的舒适区,我有112%的把握到目前为止我所得到的完全是垃圾和错误。我以前从未使用过ajax,事实证明Google非常令人困惑,所以我希望有一点知识的人能帮助我 基本上,我想做的是搜索特定类的url。如果url具有该类,那么我希望在当前页面上运行函数 在我的例子中。我想检查play.com上是否有电影库存。如果有存货,我希望我的边框变成红色 我在这里摆弄过: 这是我的代码-如果它错得离谱,请道歉强>Javascript 在当前页上查找类并运行函数,javascript,jquery,ajax,Javascript,Jquery,Ajax,完全脱离了我的舒适区,我有112%的把握到目前为止我所得到的完全是垃圾和错误。我以前从未使用过ajax,事实证明Google非常令人困惑,所以我希望有一点知识的人能帮助我 基本上,我想做的是搜索特定类的url。如果url具有该类,那么我希望在当前页面上运行函数 在我的例子中。我想检查play.com上是否有电影库存。如果有存货,我希望我的边框变成红色 我在这里摆弄过: 这是我的代码-如果它错得离谱,请道歉 $.ajax({ dataType: 'text', type: 'GET
$.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');
}
}
});
任何帮助都将不胜感激,我真是莫名其妙地糊涂了 不能将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
answer,因此请求应该以jsonp形式返回一些内容。在本例中,ajax请求返回以…
开头的整个html文档。这就是console中出现错误的原因:
Uncaught SyntaxError: Unexpected token <
未捕获的语法错误:意外标记<
您的问题是play.com不允许您的AJAX请求。访问控制允许来源被拒绝你听说过相同的域策略吗?我一直在使用fiddler(不确定这是否会改变什么),并且一直在同一个域上工作,但它不起作用。你在乐天英格兰工作吗?嗨,不,我不知道,我只是以他们的网站为例,所以我在该页面上寻找一个类,然后寻找一个函数run@zod是的,正在打电话。这只是另一个与ajax call.yep无关的bug。他们不回来了jsonp@zod是的:它返回整个页面(html页面),但是ajax希望jsonp。所以html文档以。
开头,第一个很抱歉听起来很愚蠢。但我还是没办法让它发挥作用。我已按原样复制了所有内容,但没有将函数中的“.active”改为“active”。非常感谢。只有当对该play网站的请求是jsonp get jsonp响应时,succes回调才会起作用,而您的代码中并不是这样。这就是为什么它没有写作。