Javascript XMLHttpRequest无法加载数据

Javascript XMLHttpRequest无法加载数据,javascript,angularjs,cors,Javascript,Angularjs,Cors,我对Angular是个新手,正在尝试构建一个简单的应用程序来自学。我不明白为什么我会遇到主题中提到的错误? XMLHttpRequest无法加载localhost:8081/scrap。跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https、chrome扩展资源 我导航到我指定的端口(8081),但即使我通过express启用了CORS,也会出现CORS错误: 角度工厂: .factory('TradesDataFactory', function($http) {

我对Angular是个新手,正在尝试构建一个简单的应用程序来自学。我不明白为什么我会遇到主题中提到的错误? XMLHttpRequest无法加载localhost:8081/scrap。跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https、chrome扩展资源

我导航到我指定的端口(8081),但即使我通过express启用了CORS,也会出现CORS错误:

角度工厂:

.factory('TradesDataFactory', function($http) {

        var getPlayerInfo = function() {
            return $http({
                method: 'GET',
                url: 'localhost:8081/scrape'
            }).then(function(resp) {
                return resp.data
            });
        };
快递:刮

var express = require('express');
var fs = require('fs');
var request = require('request');
var cheerio = require('cheerio');
var cors = require('express-cors')
var app = express();

app.use(cors());
app.use(express.static('client'));
//*** how do I get this to scrape on server load?

app.get('/scrape', function(req, res) {

    //All the web scraping magic will happen here. do this once.
    url = "https://www.bing.com/search?q=Week+1+running%20backs+fantasy+predictions&FORM=MA12R5&OCID=MA12R5&wt.mc_id=MA12R5";

    request(url, function(error, response, html) {
        if (!error) {
            var $ = cheerio.load(html);

            var player, projectedPoints;
            var players = [];

            var playersAndPoints = $('.items').text();
            var playersAndPoints = JSON.stringify(playersAndPoints);
            var re = /Points\s\(PPR\)/gi;
            var formattedPlayers = playersAndPoints.replace(re, " ");
            formattedPlayers.replace("\\\"", "\"");
            var regex2 = /\.\d/g;
            var formattedPlayers = formattedPlayers.split(regex2);

            console.log(formattedPlayers);

            var names = formattedPlayers.map(function(player) {
                return player.split(':')[0]
            });
            var score = formattedPlayers.map(function(player) {
                return player.split(':')[1]
            });

            var object = {}

            for (var i = 0; i < names.length; i++) {
                object[names[i]] = score[i];
            }
        }

        var formattedPlayers = object;

        fs.writeFile('output.json', JSON.stringify(formattedPlayers, null, 4), function(err) {
            console.log("check your file directory!")
        })
        res.send("check your console!")
    })
})

app.listen('8081')

console.log('Magic happens on port 8081');

exports.app = app;
var express=require('express');
var fs=需要('fs');
var请求=要求(“请求”);
var cheerio=需要('cheerio');
var-cors=require('express-cors')
var-app=express();
应用程序使用(cors());
应用程序使用(express.static(“客户端”));
//***如何在服务器负载上刮取这些内容?
app.get('/scrape',函数(req,res){
//所有的网页抓取魔法都会在这里发生。做一次。
url=”https://www.bing.com/search?q=Week+1+运行%20backs+fantasy+predictions&FORM=MA12R5&OCID=MA12R5&wt.mc_id=MA12R5”;
请求(url、函数(错误、响应、html){
如果(!错误){
var$=cheerio.load(html);
var播放器,投影点;
var=[];
var playersAndPoints=$('.items').text();
var playersAndPoints=JSON.stringify(playersAndPoints);
var re=/Points\s\(PPR\)/gi;
var formattedPlayers=playersAndPoints.replace(re,“”);
格式化的播放器。替换(“\\\”,“\”);
变量regex2=/\。\d/g;
var formattedPlayers=formattedPlayers.split(regex2);
console.log(格式化的播放器);
var name=formattedPlayers.map(函数(播放器){
return player.split(“:”)[0]
});
var score=formattedPlayers.map(函数(播放器){
return player.split(“:”)[1]
});
变量对象={}
对于(var i=0;i
您得到的错误是检查URL的协议,如
http
数据
文件


如果将url参数更改为:
url:'http://localhost:8081/scrape“
,它应该可以工作,使您的$http方法看起来像:

return $http({
    method: 'GET',
    url: 'http://localhost:8081/scrape'
}).then(function(resp) {
    return resp.data
});

localhost:8081/scrape是否在浏览器中启动时在浏览中显示json?
url:'http://localhost:8081/scrape“
?绝对是@Jorg,就是这样。但愿我能选择你的评论作为答案!稍后我会把它变成一个答案