我需要在另一个网站(跨域)中的跨度,div内,div等内找到文本 经过几个小时的研究,我仍然无法得到任何工作。截至目前,这就是我所拥有的:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
</head>
<body>
<div id="thisdiv"></div>
<script>
$.get( "http://landnstemacademy.blogspot.com/", function( data ) {
$( "#Blog1" )
$("span:contains('Quote of the day')")
.contents()
.filter(function(){
return this.nodeType !== 3;
})
.clone().prependTo( "#thisdiv" );
}
</script>
</body>
我对jquery很新,所以如果我偏离轨道,请原谅我。任何帮助都非常感谢。
另外,有没有办法指定&#34;指定元素之后的元素&#34;?我需要在此之后获取元素的内容,但它不是唯一的。
如果需要,网站为http://landnstemacademy.blogspot.com/
编辑:我相信我可能已经读过某些涉及json的方法可以绕过这些&#34;反跨域&#34;规则。那会有用吗?可以获得文字吗?我还要注意,如果可能的话,我想将所有代码约束到一个文件(没有用于php的额外文件文件),但我理解这是否因为任何原因而变得太难/不可能。再次感谢你。
答案 0 :(得分:0)
由于跨域资源共享CORS机制,您不能访问您域中的网站内容。
这种机制有一些安全原因可以防止clickjacking等攻击。
如果您尝试运行请求,则会出现以下错误,因此您的问题首先不是jquery。
XMLHttpRequest无法加载http://landnstemacademy.blogspot.com/。没有 &#39;访问控制允许来源&#39;标题出现在请求的上 资源。起源&#39; null&#39;因此不允许访问。
然后,只有您可以访问此数据的方式是,如果您尝试从中获取数据的网站在使用Access-Control-Allow-Origin: *
http标头提供请求的响应时允许跨源访问。
答案 1 :(得分:0)
您可以使用以下内容:
Jquery的:
JFrame frame = new JFrame(...);
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
JFrame frame = (JFrame)e.getSource();
....................
}
}
Php:$.ajax({
url : 'ajax/get_random_quotes.php',
method : 'get',
success : function(response)
{
var data = JSON.parse(response);
// You can use response like data.col1 or data.col2
}
});
get_random_quotes.php
注意:由于跨域资源共享CORS机制,您不能从您的域访问网站内容。因此仅$url = "http://quotes.stormconsultancy.co.uk/random.json";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$response = curl_exec($ch);
curl_close($ch);
echo $response;
exit;
不足以完成您的任务,您必须使用ajax()