PHP接收JAVA提交的json数据,php后台接收ajax发送post请求提交json数据的两种方式

今天做php的一个项目,打算用jquery ajax向后台发送post类型请求,发送的数据类型是json。但是频频出错,不是报500错误,就是在后取的值为空的。几经周折才把问题解决。

总结了两种ajax发送post请求的写法:

前端关键代码1:

//变量data是我的js对象经过JSON.stringify(data)处理之后的json字符串

$.ajax({

contentType: 'application/json; charset=utf-8', //这行可有可无都行

type: 'POST',

url: "addinvest", //thinkphp的控制器方法

data: data,

success: function (message) {

console.log(message);

},

error: function (message) {

console.log(message);

}

});

后端关键代码1:

public function addinvest(){

$inputjson = file_get_contents('php://input');

$obj = json_decode($inputjson);

if(is_object($obj)){

echo ($obj->invest_name);

}

}

前端代码2:

$.ajax({

// contentType: 'application/json; charset=utf-8',

contentType:'application/x-www-form-urlencoded', //这行可有可无都行

type: 'POST',

url: "addinvest",

data:{

data:data,

// "data":data //也可以

},

success: function (message) {

console.log(message);

},

error: function (message) {

console.log(message);

}

});

后端代码2:

public function addinvest(){

$jsonstr = $_POST["data"];

$obj = json_decode($jsonstr);

echo ($obj->invest_name);

}

需要注意:

echo可以返回数值和字符串,但还不可以返回对象;非数组类型的json数据在后台不能转换成数组.但是可以转换成对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值