php 如何接收前端傳來的json資料
前端用JQ 產生一個有欄位名和值格式的索引值對 的JSON 格式的字串 轉碼後 提交給背景PHP 處理
代碼如下
json_data+="\"emp_id\":\""+emp_id+"\",\"action_type\":\""+action_type+"\"})"
//$("#emp_no_id").val(json_data);
var json_data1=eval(json_data);
//var json_data1=json_data;
//$.each(json_data1,function(item,value){
// alert(item+value);
//});
$.ajax({
type: "post",//使用post方法訪問後台
dataType: "text",//返回json格式的資料
url: "updata_emp.php", //要訪問的後台地址
data:json_data1,
ontentType:'utf8',
async:false,
success: function(msg){//msg為返回的資料,在這裡做資料繫結
var arr=msg;
alert(msg);
}
});
後台使用PHP 接受
require '.\require\db_set.php';
if (!empty($GLOBALS['HTTP_RAW_POST_DATA']))
{
$command = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : file_get_contents("php://input");
$j =json_decode( $command,true);//true,轉化成數組
}
echo $j ;
現在的情況是 接收到的內容 是一個字串, 無法用json_decode 轉成數組
應該如何處理 PHP JSON 前端
分享到:
------解決方案--------------------
你沒有注意到你的彈框中就是一個 url 參數串嗎?
既然 ajax 有 type: "post"
那麼你就用 $_POST 就是了
------解決方案--------------------
你的json_data可以寫成:json_data="emp_id="+emp_id+"&action_type="+action_type;這樣的形式,然後在後端用$_POST['emp_id']這樣的方法來擷取傳遞的值
------解決方案--------------------
你當 jq 是弱智啊
引用:
你的json_data可以寫成:json_data="emp_id="+emp_id+"&action_type="+action_type;這樣的形式,然後在後端用$_POST['emp_id']這樣的方法來擷取傳遞的值