如何防止链接发送额外的XHR请求?

时间:2017-01-15 05:09:08

标签: javascript jquery ajax cors

我的网页上有一些链接。单击这些链接应在模式中加载一些自定义文本。这是链接点击的代码:

$('a.modal-link').on('click', openModal);

function openModal(evt) {
    evt.preventDefault();
    var link = $(this).attr("href");
    var text = $(this).text();
    safeModal(link, text);
};

function safeModal(linkUrl, linkText) {
var link = linkUrl;
var page = window.location.href.split('?')[0];
var text = linkText;
var ajaxURL = "http://example.com/script_to_load_text.php";
$.ajax({
    type: "POST"
    , url: ajaxURL
    , data: {
        link: link
        , page: page
    }
    , success: function (markup) {
        $(".feed-modal .modal-body").html(markup);
    }
  })
};

这是PHP脚本:

<?php
  $url = $_POST['link'];
  $page = $_POST['page'];
  $article = '';
  $section = explode('/',$page);
  $text = file_get_contents('../'.$section[3].'/article.dat');
  $feed = explode('§',$text);
  for($index = 0; $index < count($feed); $index++) {
    if(strpos($feed[$index],$url)!==false){
      $article = $feed[$index];
    }
  }
  echo $article;
?>

这可以防止链接在浏览器窗口中打开。但是,如果启用了CORS ,它将打开模式中的整个网页。我怎么能防止这种情况?

0 个答案:

没有答案