同步管理精英 发布于 2017-05-11 20:25

例如,前端用了react或者vue等框架,我只想通过ajax在后台获取相应的数据,我应该怎么做呢?或者说后台如何选择?我之前用Django写过一些类似的,但是感觉还是无法脱离Django自己提供的视图。

11 个回答
  • 2017-05-11 21:20 回答
  • 1.首先,后台语言的选择不重要,什么语言都可以实现,关键看你熟悉什么语言,你熟悉哪一门语言,上手就比较快。
    2.你要做的效果应该是前后台分离。后台提供API,API返回前台需要的数据格式,前台通过API获取数据。前台自己渲染页面。
    3.因为我是做PHP的,所以我建议后台使用PHP来搭建。后台采用MVC分离。由于后台只提供API,V可以省略。首先建议你选择支持可配置路由的框架,然后M操作数据库,从后台获取数据,C将数据转换成json格式往前台传。你需要做的工作就是按照框架的规则配置路由,然后写Controller代码和Model代码就好了。框架有ThinkPHP或Laravel等。

    2017-05-12 03:34 回答
  • 基于你前端的经验,不用去尝试Java/PHP/golang 这些后端语言,直接用nodejs即可,JavaScript你也擅长,并且node也很强大。如果简单的api直接node的http模块,如果复杂就用express http://expressjs.com/en/starter/installing.html
    可以直接返回json/jsonp对象

    res.json(null);
    res.json({ user: 'tobi' });
    res.status(500).json({ error: 'message' });
    2017-05-12 00:58 回答
  • 没用过Django,不过觉得Dj肯定支持返回json这种视图,简单搜索了一下关键字 Django json view:

    http://stackoverflow.com/questions/9262278/django-view-returning-json-without-using-template

    应该能满足你要的。

    2017-05-12 18:37 回答
  • @hsfzxjy 说的

    2017-05-12 09:45 回答
  • 改变 Django 的视图返回很简单啊, 如果需要做数据接口自己写个 Mixin 然后混入就可以了,可以看看这个例子:JsonResponseMixin

    就是复写 Django 类视图的 render_to_response 方法,让他返回 json 或者其他数据。使用的时候这样写就可以:

        class TestView(JsonResponseMixin, DetailView):
            ...
    2017-05-12 16:17 回答
  • 最近在入Lumen的坑,你可以试试一下这个基于Laravel的优雅解决方案。

    2017-05-12 02:55 回答
  • 我觉得你要用Reactjs再加restful api,那么前端的展现就不应该用MVC了,而应该是flux
    我的flux框架用的altjs,严格遵循flux的流程,而且react模块化特性也很好发挥了出来,参见: http://alt.js.org

    至于restful api看你自己怎么选择了,各种语言各种框架都有.

    2017-05-12 18:30 回答
  • 返回json即可。
    我的话现在用Yii2的restful提供标准API供前端访问(IOS,ANDROID,WEB)

    2017-05-12 09:44 回答
  • 不要template, 直接views里面HttpResponse返回json数据不就行了么

    2017-05-12 16:39 回答
  • Django 只给一个div 让 react mount

    2017-05-12 09:26 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
活跃用户
  • 1
    问道摩托
  • 2
    袁广龙976丶
  • 3
    逍遥子
  • 4
    亮仔
  • 5
    芙蓉花
  • 6
    作小die_syj
  • 7
    mobiledu2502875483
  • 8
    王丽珠景平怡伦_621
  • 9
    adfa3sd5f6a
  • 10
    欣欣大妮
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有