javascript - 如何设计只提供api的后台?
例如,前端用了react或者vue等框架,我只想通过ajax在后台获取相应的数据,我应该怎么做呢?或者说后台如何选择?我之前用Django写过一些类似的,但是感觉还是无法脱离Django自己提供的视图。
回复内容:
例如,前端用了react或者vue等框架,我只想通过ajax在后台获取相应的数据,我应该怎么做呢?或者说后台如何选择?我之前用Django写过一些类似的,但是感觉还是无法脱离Django自己提供的视图。
http://www.django-rest-framework.org/
1.首先,后台语言的选择不重要,什么语言都可以实现,关键看你熟悉什么语言,你熟悉哪一门语言,上手就比较快。
2.你要做的效果应该是前后台分离。后台提供API,API返回前台需要的数据格式,前台通过API获取数据。前台自己渲染页面。
3.因为我是做PHP的,所以我建议后台使用PHP来搭建。后台采用MVC分离。由于后台只提供API,V可以省略。首先建议你选择支持可配置路由的框架,然后M操作数据库,从后台获取数据,C将数据转换成json格式往前台传。你需要做的工作就是按照框架的规则配置路由,然后写Controller代码和Model代码就好了。框架有ThinkPHP或Laravel等。
基于你前端的经验,不用去尝试Java/PHP/golang 这些后端语言,直接用nodejs即可,JavaScript你也擅长,并且node也很强大。如果简单的api直接node的http模块,如果复杂就用express http://expressjs.com/en/starter/installing.html
可以直接返回json/jsonp对象
<code>res.json(null); res.json({ user: 'tobi' }); res.status(500).json({ error: 'message' });</code>
没用过Django,不过觉得Dj肯定支持返回json这种视图,简单搜索了一下关键字 Django json view:
http://stackoverflow.com/questions/9262278/django-view-returning-json-without-using-template
应该能满足你要的。
用@hsfzxjy 说的
改变 Django 的视图返回很简单啊, 如果需要做数据接口自己写个 Mixin 然后混入就可以了,可以看看这个例子:JsonResponseMixin
就是复写 Django 类视图的 render_to_response
方法,让他返回 json 或者其他数据。使用的时候这样写就可以:
class TestView(JsonResponseMixin, DetailView): ...
最近在入Lumen的坑,你可以试试一下这个基于Laravel的优雅解决方案。
我觉得你要用Reactjs再加restful api,那么前端的展现就不应该用MVC了,而应该是flux
我的flux框架用的altjs,严格遵循flux的流程,而且react模块化特性也很好发挥了出来,参见: http://alt.js.org
至于restful api看你自己怎么选择了,各种语言各种框架都有.
返回json即可。
我的话现在用Yii2的restful提供标准API供前端访问(IOS,ANDROID,WEB)
不要template, 直接views里面HttpResponse返回json数据不就行了么
Django 只给一个div 让 react mount

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

Python和C 各有優勢,選擇應基於項目需求。 1)Python適合快速開發和數據處理,因其簡潔語法和動態類型。 2)C 適用於高性能和系統編程,因其靜態類型和手動內存管理。

Golangisidealforbuildingscalablesystemsduetoitsefficiencyandconcurrency,whilePythonexcelsinquickscriptinganddataanalysisduetoitssimplicityandvastecosystem.Golang'sdesignencouragesclean,readablecodeanditsgoroutinesenableefficientconcurrentoperations,t

Laravel適合團隊熟悉PHP且需功能豐富的項目,Python框架則視項目需求而定。 1.Laravel提供優雅語法和豐富功能,適合需要快速開發和靈活性的項目。 2.Django適合複雜應用,因其“電池包含”理念。 3.Flask適用於快速原型和小型項目,提供極大靈活性。

IIS和PHP可以兼容,通過FastCGI實現。 1.IIS通過配置文件將.php文件請求轉發給FastCGI模塊。 2.FastCGI模塊啟動PHP進程處理請求,提高性能和穩定性。 3.實際應用中需注意配置細節、錯誤調試和性能優化。

多次調用session_start()會導致警告信息和可能的數據覆蓋。 1)PHP會發出警告,提示session已啟動。 2)可能導致session數據意外覆蓋。 3)使用session_status()檢查session狀態,避免重複調用。

選擇Python還是C 取決於項目需求:1)如果需要快速開發、數據處理和原型設計,選擇Python;2)如果需要高性能、低延遲和接近硬件的控制,選擇C 。

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。
