Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Django和Ember.js_Javascript_Python_Django_Ember.js_Django Rest Framework - Fatal编程技术网

Javascript Django和Ember.js

Javascript Django和Ember.js,javascript,python,django,ember.js,django-rest-framework,Javascript,Python,Django,Ember.js,Django Rest Framework,好的,我正在尝试使用Django rest框架将Django与ember.js连接起来。我用来尝试的应用程序是ember.js文档中提供的 ember应用程序当前正在访问服务器并获得响应(200),但页面上没有加载任何内容 以下是django服务器的响应: [02/Mar/2014 13:51:09] "GET /todos/?_=1393789869335 HTTP/1.1" 200 177 以下是curl响应的内容(注意:此响应相当于对“localhost/todos/”的请求): 适配器

好的,我正在尝试使用Django rest框架将Django与ember.js连接起来。我用来尝试的应用程序是ember.js文档中提供的

ember应用程序当前正在访问服务器并获得响应(200),但页面上没有加载任何内容

以下是django服务器的响应:

[02/Mar/2014 13:51:09] "GET /todos/?_=1393789869335 HTTP/1.1" 200 177
以下是curl响应的内容(注意:此响应相当于对“localhost/todos/”的请求):

适配器的文档声称“适配器假设每个django模型有两个不同的端点”。第二个示例如下,并允许请求单个“todo”:

$> curl -H 'Accept: application/json; indent=4' http:/localhost:8080/todos/1/
{
    "title": "hmm why isnt this working now", 
    "isCompleted": false
}
我认为问题在于我的application.js:

window.Todos = Ember.Application.create();

Todos.ApplicationAdapter = DS.DjangoRESTAdapter.extend({
  host: 'http://localhost:8080'
 });

 Todos.ApplicationSerializer = DS.DjangoRESTSerializer.extend();
如果任何人有任何想法,任何帮助都将不胜感激!如果需要,我可以发布更多代码。谢谢各位

编辑:调试。“请求的资源上不存在“Access Control Allow Origin”头。因此,不允许对源“null”进行访问。”另一个线程使我相信CORS可能能够解决此问题。我会回来报到的

不要在Django端使用
djangorestapter
需要一个项目数组,而不是描述页面的对象。来自ember data django rest适配器的相关报价:

iii)尚未支持分页


这是问题之一。此外,我必须在django中的序列化程序中传递一个ID。此外,还需要将django上的主机列入白名单,以允许它发出跨域HTTP请求。
window.Todos = Ember.Application.create();

Todos.ApplicationAdapter = DS.DjangoRESTAdapter.extend({
  host: 'http://localhost:8080'
 });

 Todos.ApplicationSerializer = DS.DjangoRESTSerializer.extend();