douao1854 2014-06-23 09:57
浏览 33
已采纳

DOJO - 将多维json对象发布到php

Sending multidimensional json object to the server (PHP) but it is not possible to send a multidimensional json object here is my code:

DOJO code:

var ObjArry=[];

var test1 = {key:value,  key:value,  key:value, key:value};
var test2 = {key:value,  key:value,  key:value, key:value};

ObjArry.push(dojoJson.toJson(test1 ,true));
ObjArry.push(dojoJson.toJson(test2 ,true));

request.post("services/service.php?where=saveObj",{ 
    data: ObjArry,
    handleAs: "json",
    sync: true,
    timeout:13000,
    headers: { "Content-Type": "application/json", "Accept": "application/json" }
}).then(function(data){
    console.log(data); //output - null
}); 

Server side (PHP) code:

//saveObj is php function
function saveObj(){
  print_r($_POST);
}

And the output I get is:

Array()
  • 写回答

2条回答 默认 最新

  • dongyou2305 2014-06-24 06:03
    关注

    After looking closer to your Dojo code, I noticed a few things, the functions dojo::toJson and dojo::fromJson are deprecated in favour of dojo/json::stringify and dojo/json::parse, similar to how the JSON object works.

    Just like @Mike Brant said in his answer, you will have to use it on the entire array, for example:

    ObjArray = dojoJson.stringify([ test1, test2 ]);
    

    Then the request works properly, however, it indeed sends an empty request body. After removing the following header:

    Accept: application/json
    

    it started to work though, so I suggest removing it from your request, then it should work as you can see in this example: http://jsfiddle.net/DgTLC/ (it sends a 404, but there is a request payload).


    About your PHP I'm not sure either if you can use $_POST to retrieve the post body, according to this answer you could use:

    $data = json_decode(file_get_contents('php://input'), true);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP