使用angular' $ http服务来调用js文件?

时间:2014-12-18 14:21:09

标签: javascript mysql ajax angularjs node.js

我使用angular with node并尝试连接到mysql DB。

我在此脚本(server.js)中使用节点mysql模块:

var  mysql=require('mysql');

var connection = mysql.createConnection(
        {
            host         : 'localhost',
            user         : 'root',
            password : '',
            database : 'mysql',
        }
);

connection.connect();

var queryString = 'SELECT * FROM users';

connection.query(queryString, function(err, rows, fields) {
    if (err) throw err;

    for (var i in rows) {
        console.log('Post Titles: ', rows[i].post_title);
    }
});

connection.end();

我想用这样的角度运行js脚本:

var myApp = angular.module('myApp', []);

myApp.controller('AppListCtrl', ['$scope', '$http',
    function($scope, $http) {
        $http.get('../scripts/server.js').success(function(data) {
            console.dir(data);
        });
    }

这不起作用(实际上没有执行js文件)。我是否必须用html包装我的js?我是以错误的方式来做这件事的吗?我想用js做这一切,而不是在这里使用php或其他语言。

1 个答案:

答案 0 :(得分:1)

$http.get方法执行AJAX请求,因此它会将js文件作为JavaScript使用的字符串。

您可能正在寻找的是JSONP,它将以JavaScript的形式执行您下载的任何文件。请尝试使用$http.jsonp

Angular docs on $http.jsonp