0

我正在通过一个使用 jQuery 进行 ajax 调用的页面爬虫在数据库中缓存一个数字链接。在对远程站点进行 ajax 调用之前,我确保链接地址具有域列表之一或具有两个文件扩展名之一:

var j = jQuery.noConflict();

...

var substrings = ['site1',
                  'site2',
                  'site3',
                  'site4'];
var length = substrings.length;
console.log(length);
$.each(the_links, function(i, el){
  var dl_link = this;
  if (dl_link.endsWith('.html') || dl_link.endsWith('.php') || dl_link.indexOf(substrings[length])!=-1) {
    j.get( 'https://example.com/insert.php', { title:post_title, link: dl_link } )
        .done(function( data ) {
          console.log('response:');
          afterInsert(data);
        });
  }
  length--;
  if(link_count == 0){
    console.log('inserted all links');
  }
});

当我运行脚本时,我的 ajax 调用运行没有问题,并且我的记录在数据库中创建,但在 ajax 回调中没有任何内容返回到浏览器控制台:

浏览器终端输出

如何访问我的 ajax 响应的内容?

我还尝试了以下 ajax 调用,但我仍然无法在控制台中记录响应,即使它出现在Response控制台中 XHR 条目的选项卡中:

j.get(insert_script, { title: post_title,link: dl_link}, function(data, textStatus, jqXHR) {
   console.log('response:'); 
   afterInsert(data);
});
4

1 回答 1

0

事实证明,由于CORS ,我的 ajax 响应没有提供给控制台。我能够使用 Firefox 的CORS Everywhere插件解决这个问题

于 2019-11-24T01:02:21.923 回答