如何使用ajax获得标题?

时间:2016-06-29 22:25:55

标签: javascript jquery ajax

我正在使用ajax功能并尝试使用ajax获取标题但不起作用。这是一个例子

$('#ajaxlink').click(function(e) {
  var $this = this.href;
  $.ajax({
    url: $this,
    dataType: 'html',
    success: function(html) {
      var div = $('title', $(html));
      $('#gettitle').text($title);
      
     console.log(html);
     }

  });


  e.preventDefault();
  return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="ajaxlink" href="https://jsfiddle.net/">Click</a>
<div id="gettitle">
</div>

3 个答案:

答案 0 :(得分:1)

由于CORS保护,您的请求失败。除非他们明确启用了CORS,否则您无法轻松地从其他域请求html并解析结果。

要使其适用于同一个域,请尝试此

$('#gettitle').text($(html).filter('title').text());

答案 1 :(得分:0)

我在你的代码中看到了一些问题, 请尝试使用此版本的代码

$('#ajaxlink').click(function(e) {
  var urlPath =  $(e.currentTarget).prop('href'); // must be a valid url
  $.ajax({
    url: urlPath,
    dataType: 'html',
    success: function(html) {
      $('#gettitle').text(html);
     console.log(html);
     }

  });


  e.preventDefault();
  return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="ajaxlink" href="https://jsfiddle.net/">Click</a>
<div id="gettitle">
</div>

答案 2 :(得分:0)

您可以使用JSONP:

function logResults(json){
  console.log(json);
}

$(document).ready(function(){
$.ajax({
  url: "https://api.github.com/users/jeresig",
  dataType: "jsonp",
  jsonpCallback: "logResults"
});

});

function jsonCallback(json){
  console.log(json);
}

$(document).ready(function(){



$.ajax({
  url: "http://run.plnkr.co/plunks/v8xyYN64V4nqCshgjKms/data-2.json",
  dataType: "jsonp"
});

});