我使用Node/Express创建了一个小API并尝试使用Angularjs来提取数据,但是当我的html页面在localhost:8888上运行apache并且节点API在端口3000上侦听时,我得到了No'Access-Control-允许来源.我尝试使用node-http-proxy和Vhosts Apache但没有取得多大成功,请参阅下面的完整错误和代码.
"XMLHttpRequest无法加载localhost:3000.请求的资源上没有'Access-Control-Allow-Origin'标头.因此不允许来自"localhost:8888"."
// Api Using Node/Express
var express = require('express');
var app = express();
var contractors = [
{
"id": "1",
"name": "Joe Blogg",
"Weeks": 3,
"Photo": "1.png"
}
];
app.use(express.bodyParser());
app.get('/', function(req, res) {
res.json(contractors);
});
app.listen(process.env.PORT || 3000);
console.log('Server is running on Port 3000')
Run Code Online (Sandbox Code Playgroud) 我试图通过创建一个View来输出骨干模型的一些dafault值,但节点显示错误"对象#的属性'$'不是_.extend._ensureElement的函数".我可以直接显示模型中的默认值,就像我在下面的代码中所做的那样但不是通过使用视图.为了显示一个例子,我已经注释掉了// myView = new firstView(); 所以你可以看到输出但很快我删除了我得到错误的评论.请让我知道缺少什么,我做错了什么.已经尝试在$(function(){})中包装代码,但没有运气.
express = require('express');
$ = require('jQuery');
_ = require('underscore');
Backbone = require('Backbone');
app = express();
app.use(express.static(__dirname + ''));
app.use(express.bodyParser());
app.listen(process.env.PORT || 3000);
Person = Backbone.Model.extend({
defaults: {
'name': 'Joe Blog',
'job': 'Web Developer'
}
});
firstPerson = new Person();
firstView = Backbone.View.extend({
initialize: function() {
this.render();
},
render: function() {
console.log(firstPerson.get('job'));
return this;
}
})
//myView = new firstView();
console.log(firstPerson.get('name'));
Run Code Online (Sandbox Code Playgroud) 我试图通过点击addEventListener来破坏Prototype的结果,但结果显示甚至没有点击.
<div id="box">Your Item:</div>
<button id="myBtn">Buy</button>
<script type="text/javascript">
function Machine(n,p){
this.name = n;
this.price = p;
}
Machine.prototype.Dispatch = function(){
var container = document.getElementById('box');
container.innerHTML = this.name + " " + this.price;
}
var Drink = new Machine("coke",80);
var Handle = document.getElementById('myBtn');
Handle.addEventListener("click",Drink.Dispatch(),false);
</script>
Run Code Online (Sandbox Code Playgroud)