请教,这种数据接口怎么写? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Famio
V2EX    程序员

请教,这种数据接口怎么写?

  •  
  •   Famio 2017-09-18 13:26:12 +08:00 3926 次点击
    这是一个创建于 2998 天前的主题,其中的信息可能已经有所发展或是发生改变。

    给的 demo 是:xxx.com/api/?id=123,抛出 json 数据格式。

    我只会写:xxx.com/api/index.php?id=123,用的 POST 方法,不会抛出 json 数据格式。

    有没有大神教我一下,随便给个例子就行,我一看就懂。

    第 1 条附言    2017-09-18 14:10:18 +08:00
    谢谢各位,发现光 echo 出来没用,还要加 header('content-type:application/json');改变下头
    20 条回复    2017-09-18 22:24:57 +08:00
    inmyfree
        1
    inmyfree  
       2017-09-18 13:30:25 +08:00
    你需要学习下.htaccess 规则
    icedx
        2
    icedx  
       2017-09-18 13:31:46 +08:00
    你需要学习下nginx.conf 的写法
    Famio
        3
    Famio  
    OP
       2017-09-18 13:33:31 +08:00
    @inmyfree @icedx 我知道你们的意思,但是我不是要 rewrite。重点在于如何抛出 json,我不会这块。
    sculley
        4
    sculley  
       2017-09-18 13:34:20 +08:00
    demo 的 url 要有路由才行,要不是 nginx 配置,要不就是 index.php 入口后自己写路由判定,然后 call function
    U7Q5tLAex2FI0o0g
        5
    U7Q5tLAex2FI0o0g  
       2017-09-18 13:35:47 +08:00
    如何抛出 json ?最简单暴力的:

    $arr = [
    'a' => 'aaa',
    'b' => 'bbb'
    ];
    echo json_encode($arr);
    exit(0);

    当然这么写一点都不优雅
    inmyfree
        6
    inmyfree  
       2017-09-18 13:36:00 +08:00
    @Famio #3

    抛出 json ?

    php 直接 echo 啊,想要啥 格式就啥格式啊
    sculley
        7
    sculley  
       2017-09-18 13:36:52 +08:00
    再加个 header ContentType
    pathletboy
        8
    pathletboy  
       2017-09-18 13:37:03 +08:00   5
    不小心点开了楼主的示例网站,然后就。。。
    inmyfree
        9
    inmyfree  
       2017-09-18 13:37:59 +08:00
    你要理解,http 返回的其实都是文本,里面内容你自己写就可以,要 html 就输入 <html>....要 json 就直接 echo,一样的
    inmyfree
        10
    inmyfree  
       2017-09-18 13:38:59 +08:00
    @pathletboy #8 额...这就尴尬了,不说我还不知道,xxx.com 。。。默哀,前后左右还有妹子吗
    chuhemiao
        11
    chuhemiao  
       2017-09-18 13:51:29 +08:00
    json_encode 解决不了问题?
    Immortal
        12
    Immortal  
       2017-09-18 14:05:34 +08:00
    我草...在公司不小心点开了
    zjp
        13
    zjp  
       2017-09-18 14:08:03 +08:00 via Android
    惨案,不只一两次了…示例网站用 example.com 不要用 xxx.com
    KomeijiSatori
        14
    KomeijiSatori  
       2017-09-18 14:10:31 +08:00
    ![photo_2017-09-18_14-09-24.jpg]( https://i.loli.net/2017/09/18/59bf635007b90.jpg)
    kltt22
        15
    kltt22  
       2017-09-18 14:27:36 +08:00
    index.php 是默认页面啊,可以忽略。echo 不加头也可以返回正确 json,我一直是这样做的。
    scofieldpeng
        16
    scofieldpeng  
       2017-09-18 14:34:12 +08:00
    php 抛出 json 不是就是 json_encode?然后 header 加上 application/json 就行了?遇到问题第一先 google
    paw
        17
    paw  
       2017-09-18 14:36:19 +08:00
    靠。。。。。。好奇心杀死猫
    scofieldpeng
        18
    scofieldpeng  
       2017-09-18 14:36:38 +08:00
    @kltt22 有时候客户端比如浏览器,如果不加有些前端框架不会认为是 json,因此严格来讲,最好加上 json 的 header 头
    yanzixuan
        19
    yanzixuan  
       2017-09-18 14:38:17 +08:00
    @inmyfree 不一定,之前跟 java 的哥们联调我的接口的时候,直接报错。如果 header 没有指定 json 的话,java 的对应库会比较严格,不认为是个 json...
    wizardoz
        20
    wizardoz  
       2017-09-18 22:24:57 +08:00
    提问请讲清楚问题描述,比如以多大的初速度和多大角度抛出 json ?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2917 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 20ms UTC 00:29 PVG 08:29 LAX 16:29 JFK 19:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86