【问题标题】:Use ajax to check if an URL exists使用 ajax 检查 URL 是否存在
【发布时间】:2015-07-06 15:48:09
【问题描述】:

我正在尝试检查 url 是否在线。我使用 $new_url 作为用户提供的 url。我面临的问题是我总是使用 404,要么 url 在线要么不......

<?php 
session_start();
$new_url=$_POST['url1'];
?>

<script type="text/javascript">   
function isValidURL() {
 alert('<?php echo "ajax".$new_url;?>');
   $.ajax({
          url: "('<?php echo $new_url;?>')",

          success: function(xml, textStatus, xhr) {
        //console.log(arguments);
        console.log(xhr.status);
        alert("11111");
        alert(xhr.status);
    },
    complete: function(xhr, textStatus) {
        console.log(xhr.status);
        alert("22222");
        alert(xhr.status);
        alert(textStatus);

    } 
});
}


var isValid = isValidURL();
</script>
</head>

【问题讨论】:

  • 只需对您域上的另一个页面进行 AJAX 调用,该页面进行检查,然后以状态响应。如果您尝试在页面上使用 Javascript 进行操作,您将与同源内容一团糟。

标签: javascript php ajax url


【解决方案1】:

你的语法不正确

url: "('<?php echo $new_url;?>')",

应该是这样的

url: "<?php echo $new_url;?>",

但是对于外部网址,您会遇到同源策略的问题。
由于您的页面已经往返服务器,您应该只检查服务器端的 url 是否存在。

【讨论】:

  • 我仍然使用 404... 作为 url 我使用 facebook 事件页面...例如 www.facebook.com/107168247742。有什么帮助吗?
  • 我试过了,我在两种情况下都为 (xhr.status) 取 0(正确的,错误的 url..)。
  • 你是什么意思,在服务器端检查 url 是否存在?我该怎么办?
  • 您不能使用 ajax 向任意 url 发出请求,但在 php 中可以,请查看 curlfile_get_contents
猜你喜欢
  • 1970-01-01
  • 2011-05-09
  • 1970-01-01
  • 2016-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多