json 到 php 并获取变量
json to php and get variable
AddNewFish=function()
{
var formData = JSON.stringify($("#NewSubmitedFish").serializeArray());
//var formData=$('#NewSubmitedFish').serialize();
$.ajax({
type: "POST",
url: "http://localhost/vidacms/add/NewFish",
//data : {valArray:formData},
data: 'value='+formData,
success: function(data){
$("#ResultFish").html(data);
}
});
}
和我的 php 代码
public static function SubmitNewFish()
{
error_reporting(E_ALL);
$data = json_decode(json_encode($_POST['value']), True);
//$data=json_decode(stripslashes($_POST['valArray']), true);
// var_dump($data);
// var_dump($_POST);
var_dump($data);
//print $_POST['value']['bankname'];
/*$contract_details = $_POST['valArray'];
$decoded = json_decode($contract_details);
print_r($decoded);*/
}
我的控制器函数无法访问变量
用 var_dump();
结果是
string(139) "[{"name":"bankname","value":"2"},{"name":"peygiry","value":"fish"},{"name":"payment_date","value":"9999/99/99"},{"name":"desc","value":""}]"
谁可以访问此变量的值
您不需要使用 json_encode
,因为 $_POST['value']
是 json。
public static function SubmitNewFish()
{
error_reporting(E_ALL);
$data = json_decode($_POST['value'], True); //return array based on json
//$data=json_decode(stripslashes($_POST['valArray']), true);
// var_dump($data);
// var_dump($_POST);
var_dump($data);
//print $_POST['value']['bankname'];
/*$contract_details = $_POST['valArray'];
$decoded = json_decode($contract_details);
print_r($decoded);*/
}
Javascript 像这样
AddNewFish=function()
{
var formData = $("#NewSubmitedFish").serializeArray();
//var formData=$('#NewSubmitedFish').serialize();
$.ajax({
type: "POST",
url: "http://localhost/vidacms/add/NewFish",
data : {valArray:formData},
// data: 'value='+formData,
success: function(data){
$("#ResultFish").html(data);
}
});
}
并且PHP像这样
public static function SubmitNewFish()
{
error_reporting(E_ALL);
$datas =json_decode($_POST['valArray'], true);//$_POST['valArray'];
$bankname = $desc = $payment_date = $peygiry = "";
foreach($datas as $data)
{
if($data['name'] == "bankname")
{
$bankname = $data['value'];//$data['value'] not sure what you want
}
if($data['name'] == "desc")
{
$desc = $data['value'];//$data['value'] not sure what you want
}
if($data['name'] == "payment_date")
{
$payment_date = $data['value'];//$data['value'] not sure what you want
}
if($data['name'] == "peygiry")
{
$peygiry = $data['value'];//$data['value'] not sure what you want
}
//echo "<pre>";print_r($data);echo "</pre>";//try echo $data['name']; or echo $data['value'];
}
}
AddNewFish=function()
{
var formData = JSON.stringify($("#NewSubmitedFish").serializeArray());
//var formData=$('#NewSubmitedFish').serialize();
$.ajax({
type: "POST",
url: "http://localhost/vidacms/add/NewFish",
//data : {valArray:formData},
data: 'value='+formData,
success: function(data){
$("#ResultFish").html(data);
}
});
}
和我的 php 代码
public static function SubmitNewFish()
{
error_reporting(E_ALL);
$data = json_decode(json_encode($_POST['value']), True);
//$data=json_decode(stripslashes($_POST['valArray']), true);
// var_dump($data);
// var_dump($_POST);
var_dump($data);
//print $_POST['value']['bankname'];
/*$contract_details = $_POST['valArray'];
$decoded = json_decode($contract_details);
print_r($decoded);*/
}
我的控制器函数无法访问变量 用 var_dump(); 结果是
string(139) "[{"name":"bankname","value":"2"},{"name":"peygiry","value":"fish"},{"name":"payment_date","value":"9999/99/99"},{"name":"desc","value":""}]"
谁可以访问此变量的值
您不需要使用 json_encode
,因为 $_POST['value']
是 json。
public static function SubmitNewFish()
{
error_reporting(E_ALL);
$data = json_decode($_POST['value'], True); //return array based on json
//$data=json_decode(stripslashes($_POST['valArray']), true);
// var_dump($data);
// var_dump($_POST);
var_dump($data);
//print $_POST['value']['bankname'];
/*$contract_details = $_POST['valArray'];
$decoded = json_decode($contract_details);
print_r($decoded);*/
}
Javascript 像这样
AddNewFish=function()
{
var formData = $("#NewSubmitedFish").serializeArray();
//var formData=$('#NewSubmitedFish').serialize();
$.ajax({
type: "POST",
url: "http://localhost/vidacms/add/NewFish",
data : {valArray:formData},
// data: 'value='+formData,
success: function(data){
$("#ResultFish").html(data);
}
});
}
并且PHP像这样
public static function SubmitNewFish()
{
error_reporting(E_ALL);
$datas =json_decode($_POST['valArray'], true);//$_POST['valArray'];
$bankname = $desc = $payment_date = $peygiry = "";
foreach($datas as $data)
{
if($data['name'] == "bankname")
{
$bankname = $data['value'];//$data['value'] not sure what you want
}
if($data['name'] == "desc")
{
$desc = $data['value'];//$data['value'] not sure what you want
}
if($data['name'] == "payment_date")
{
$payment_date = $data['value'];//$data['value'] not sure what you want
}
if($data['name'] == "peygiry")
{
$peygiry = $data['value'];//$data['value'] not sure what you want
}
//echo "<pre>";print_r($data);echo "</pre>";//try echo $data['name']; or echo $data['value'];
}
}