后端 API 一定要返回 JSON 吗?

通常情况下的开发,返回一段 json 给前端就足够了,但是最近在接触支付模块的时候,不管是微信还是支付宝基本上都是利用重定向,微信h5支付我还努力返回了

{
redirect_url:"http://xxxxxxx"
}

但是在支付宝h5 支付时,我发现返回的一个 form 文本,一段 js 去 submit 这个form,我并没有拿到需要重定向的 url,导致我在反思是否还要纠结去返回一个 json ,很明显这里我该返回不了。

请教了

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 8

@liyu001989 老师 :sunglasses:

4年前 评论
liyu001989

你看的是哪的文档,有很多支付相关的扩展包可以直接使用。支付宝 一样是一个 url 啊

4年前 评论
巴啦啦

或许是你的 method 选择错误,选择 web 支付,支付宝会返回一个页面给你,你需要显示出来,它会跳转到支付页面。你选择 app 支付的话,会返回一个串给你,里面包含了很多信息,还有url,让 app 端调起支付。

4年前 评论

@巴啦啦
app 支付返回的只有一端字符串,也没有url

4年前 评论

我找了一下 阮一峰博客 中提到的内容,api 中还是不要返回 301 和 302,

关于提到的支付其实也只是想举个例子,yansongda 大佬 支付宝H5支付可以传一个 GET 方式获取到支付链接

4年前 评论
Toiu

如果是 yansongda/pay 可以这样获取重定向的url $aliPay->wap($orderInfo)->getTargetUrl() 需要在$orderInfo里面设置方式为GET

4年前 评论

@Toiu 感谢感谢 已经这样实现了

只不过是想讨论一下 api 是否可以做 301 重定向

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!