好的,所以我有这个链接
<a id="link" href="https://yahoo.com" target="blank">Link</a>
然后我有这个脚本:
var security = function() {
var link = $('#link').attr('href');
$.getJSON('http://myweb.com/func.php',function( result ) {
if ( result % 5 === 0 ) {
$('#link').attr("href", link);
alert('his link');
} else {
$('#link').attr('href', 'https://google.com');
alert('your link');
}
});
$("#link").click(function() {
$.getJSON('http://myweb.com/func2.php',function( results ) {
if ( results === results ) {
location.reload();
}
});
});
};
func.php:
$results = mysqli_query($con,"SELECT * FROM `c_clicks`");
while ( $row = mysqli_fetch_array( $results ) ) {
$clicks = $row['id'];
echo $clicks;
}
func2.php:
$results = mysqli_query($con,"INSERT INTO `c_clicks`(`link`,`date`) VALUES('claim',now())");
我想要实现的是,每5次点击,#link就会将用户发送到另一个域。事情是它工作正常,但如果有人撕裂我的网站并切换#link href func.php和func2.php不再可访问,所以他们不工作。我尝试用JSON修复它,但我猜错了。我怎么还能通过不同的服务器执行func和func2?
答案 0 :(得分:0)
有一些链接会对你有所帮助..
对于当天浏览,请查看此链接http://www.w3.org/TR/access-control/
然后你也可以在jQuery and Cross Domain POST Requests
找到一些有用的片段最后看一下这个博客http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/
希望这一切对你有帮助..
答案 1 :(得分:0)
要在浏览器中发出跨域请求,您需要查看CORS。 CORS或跨源资源共享允许您使用XMLHttpRequest来请求文件,这是$ .getJSON使用的文件,而不是为当前页面提供服务的域。 MDN在CORS上有很好的写作:https://developer.mozilla.org/en/docs/HTTP/Access_control_CORS
具体来说,在您的情况下,您需要查看CORS with php headers其中'slashingweaponæ已设置PHP脚本以允许来自其他域的请求。
答案 2 :(得分:0)
将其添加到每个php文件的顶部:
header('Access-Control-Allow-Origin: *');
如果这是一个CORS问题,这将让你很快知道。