我一直在关注this post中找到的答案。但它仅在传递本地URL时有效,而不是任何外部URL。
如何使用外部网址?
我有以下基本网站用于测试。
<!doctype html>
<html lang="en">
<head>
<title>Test</title>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript">
function setGoogleToRed ( )
{
$('#google').removeClass('label-success').addClass('label-danger');
setTimeout ( "setGoogleToGreen()", 2000 );
}
function setGoogleToYellow ( )
{
$('#google').removeClass('label-success').addClass('label-warning');
setTimeout ( "setGoogleToGreen()", 2000 );
}
function setGoogleToGreen ( )
{
$('#google').removeClass('label-danger').addClass('label-success');
}
function checkurl ( )
{
var url = "blah";
$.ajax(url,
{
statusCode: {
200: function() {
setGoogleToGreen();
}
}, error: function () {
setGoogleToRed()
},
});
}
</script>
<style>
.label {
border: 1px solid #000;
}
.label-success {
background-color: #5cb85c;
}
.label-warning {
background-color: #f0ad4e;
}
.label-danger {
background-color: #d9534f;
}
</style>
</head>
<body>
<header>
<input type="button" value="Check URL" onclick="checkurl()"/>
<span id="google" class="label label-success" >google</span>
</header>
</body>
</html>
答案 0 :(得分:0)
我找到了一种方法来使这个与sinatra一起工作:
get 'redir/:redir' do
redir = params[:redir]
blah = `curl -m 1 -s -0 /dev/null -w %{http_code} "#{redir}"`
status blah.to_i
end
这允许我使用上面的代码,并将URL作为“/redir/google.com”传递,然后我的处理程序卷曲响应代码,并从我实际卷曲的页面中设置自己的状态作为状态。这非常脏,但它符合我的需要。