【问题标题】:Ajax JSONP refuses to execute code because of MIME type由于 MIME 类型,Ajax JSONP 拒绝执行代码
【发布时间】:2015-12-23 17:42:57
【问题描述】:

我一直在尝试制作一个脚本来检查 reddit 页面并发回帖子的标题。我可以使用

$( "#foo" ).load( "https://www.reddit.com/r/csgobetting/search?q=flair%3Amatch&sort=new&restrict_sr=on&t=all&feature=legacy_search #siteTable .thing .title a:even" )

但我必须使用 chrome extension,我想不惜一切代价避免它。 (它在控制台中给了我No 'Access-Control-Allow-Origin' header is present 错误)

我尝试过的另一件事是

$.ajax({
    url: "https://www.reddit.com/r/csgobetting/search?q=flair%3Amatch&sort=old&restrict_sr=on&t=all&feature=legacy_search",
    jsonp: "callback",
    dataType: "jsonp",
    success: function(data){
        data=$(data).find('#siteTable > div.thing.id-t3_3m2ezw.linkflair.linkflair-match.odd.link.self > div.entry.unvoted > p.title > a ');
        $('#foo').append(  data );
    }
});

但它给了我错误:

拒绝执行来自 'https://www.reddit.com/r/cs...' 的脚本,因为它的 MIME 类型 ('text/html') 不可执行,并且启用了严格的 MIME 类型检查。

我在网上看了 3 个小时,但找不到任何可以帮助我的东西。

这与this post 不重复,因为它没有帮助我。

我的目标是在不使用扩展或安全禁用参数的情况下获取带有链接的页面标题。

【问题讨论】:

  • “我的目标是在不使用扩展或安全禁用参数的情况下获得带有链接的页面标题” 祝你好运。这根本不可能只使用没有扩展或禁用安全协议的浏览器。
  • @KevinB 有可能,我已经给他答案了
  • @Diptox 来自我的评论:“仅使用浏览器”
  • @KevinB 我没有说“只使用浏览器”,我只是不想禁用安全参数或安装扩展,其他一切都很好。我的目标是制作一个无需安装或更改 bs 即可与人们共享的脚本
  • 我知道,我说过,所以我可以在我的评论中指出这一点。我认为,除非您将问题缩小到特定的服务器端语言,否则将问题也开放给服务器端解决方案将过于宽泛。

标签: jquery ajax jsonp mime


【解决方案1】:

最好的方法是 cURL,下载 URL 的 HTML 内容,然后将其 ECHO 到你的 javascript 然后得到你想要的:D,或者用这个很棒的插件在 PHP 中完成所有这些:https://code.google.com/p/phpquery/wiki/Selectors

【讨论】:

  • 我从来没有用过 PHP,所以我不知道它会怎么样.. :(
  • 给我5分钟,我会给你一个链接,如果你给它一个参数URL,它会返回HTML代码,希望它可以帮助你5分钟马上回来
  • 你有服务器来托管文件吗?
  • 所以这里是演示链接mouadhhsoumi.tk/stackoverflow/downloadHTMLcontent/… 这是一个 Dropbox 文件链接,可将其放入您的服务器:dropbox.com/s/pgaug9wuq2o2meb/getHTML.php?dl=0
  • 好的,谢谢。我会试着用它做点什么。我希望它有效。将保持打开状态,以便其他人在我测试时可以集思广益,但我认为它会解决它!
猜你喜欢
  • 2014-08-23
  • 2023-03-09
  • 2015-06-30
  • 2021-04-18
  • 2018-10-13
  • 1970-01-01
  • 2020-07-12
  • 2018-10-12
  • 1970-01-01
相关资源
最近更新 更多