'假'用于测试的API响应

Aar*_*her 0 php ajax json

我们正尝试在本地重新创建一些实时API以进行测试.

我们正在尝试构建一个非常基本的PHP副本,它使用JSON响应Ajax请求.下面的代码就是我现在返回的字符串,另一端的错误会引发错误:

"Uncaught TypeError: Cannot read property 'instanceId' of undefined".
Run Code Online (Sandbox Code Playgroud)

码:

$var = "{'request':{'instanceId':'1234546','usage':'1'}}";
echo($var);
Run Code Online (Sandbox Code Playgroud)

我们已经过测试,它可以与live API一起使用.所以当我尝试返回虚拟JSON数据时,我做错了.现在据我所知,这不是一个有效的JSON响应,有没有办法轻易地"伪造"响应,就像我上面的那样?

sbe*_*rry 8

这不是有效的json.反转你的报价.外侧单人,内侧双人.

您可能还需要返回正确的内容类型标头.

$var = '{"request":{"instanceId":"1234546","usage":"1"}}';
header("Content-Type", "application/json");
echo($var);
Run Code Online (Sandbox Code Playgroud)

或者更好的是:

$obj = array("request" => array("instanceId" => "123456", "usage" => "1"));
header("Content-Type", "application/json");
echo(json_encode($obj));    
Run Code Online (Sandbox Code Playgroud)

  • 还有`json_encode`可以让每个人的生活更轻松. (4认同)
  • 为'content-type`设置+1 ...总是总能得到我. (2认同)