Jquery 在php文件中解码从ajax接收的json
我通过ajax调用将json对象传递给我的php文件Jquery 在php文件中解码从ajax接收的json,jquery,Jquery,我通过ajax调用将json对象传递给我的php文件 <?php if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' )) { $mt = $_POST['tmt']; if($mt!=NULL){ $res11['result']=TRUE; }else{
<?php
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' )) {
$mt = $_POST['tmt'];
if($mt!=NULL){
$res11['result']=TRUE;
}else{
$res11['result']=FALSE;
}
echo json_encode($res11);
}
?>
jQuery语法
$.getJSON('http:..Sample/JsonCreation.php', function(data)
{
//data has the json - I am trying to edit this json and then pass it to another php file through ajax and save in DB. I have successfully edited but unable to access the passed json in my php file.
questionsArray = data;
}
$('form').on('submit', function(event)
{
//AJAX CALL
$.ajax
({
url: "updateTestReport.php",
type: "post",
//JSON.stringify
data: {json:(questionsArray)},
contenttype: "application/json; charset=utf-8",
datatype: "text",
success: function(data)
{
//alert("success");
alert(data);
},
error:function()
{
alert("failure");
}
});
});
PHP文件
<?php
//$contentjson = file_get_contents("php://input");
//echo $_POST['json'];
$questionsArray = json_encode($_POST['json']);
echo $questionsArray;
?>
1) php文件中的json_编码是如何给出输出的。我不应该使用json_解码吗?
2) 即使通过编码的json,我也无法检索值。请让我知道如何访问此json中的值。。。
3) 文件_get_contents和$_POST['json']之间有什么区别
编辑:
//开始
我需要访问php文件中的json,检索一些值,进行一些计算,保存在DB中。然后返回到主html文件
//结束
请给出明确的解释…如果您通过警报直接打印值,它将显示
[Object]
,因为响应是JSON格式的。尝试警报(res[0].questionNumber)
,这将显示第一个questionNumber
尝试这样的方法来访问这些值
success: function(res)
{
for(var i=0;i<res.length;i++)
{
qno = res[i].questionNumber;
desc = res[i].quesDesc;
// and so on
// do whatever you want this data
}
},
成功:功能(res)
{
对于(var i=0;i您希望转换或获取用php编码的数组
<script>
$.ajax
({
url: "updateTestReport.php",
type: "post",
//JSON.stringify
data: {json: (questionsArray)},
contenttype: "application/json; charset=utf-8",
datatype: "text",
success: function(data)
{
/*
* Below this comment you can also use
* data = jQuery.parseJSON(data);
* It will decode json encoded
*/
data = jQuery.parseJSON(data);
alert(data.questionNumber);
alert(data.quesDesc);
/*
* put the array keys using the period in between with data variable
*
*/
alert(data);
},
error: function()
{
alert("failure");
}
});
</script>
$.ajax
({
url:“updateTestReport.php”,
类型:“post”,
//JSON.stringify
数据:{json:(questionsArray)},
contenttype:“应用程序/json;字符集=utf-8”,
数据类型:“文本”,
成功:功能(数据)
{
/*
*在此评论下方,您也可以使用
*data=jQuery.parseJSON(数据);
*它将解码json编码
*/
data=jQuery.parseJSON(数据);
警报(数据、问题编号);
警报(data.quesDesc);
/*
*使用带数据变量的句点放置数组键
*
*/
警报(数据);
},
错误:函数()
{
警报(“故障”);
}
});
如果您有任何疑问,请告诉我。就像我给您举了一个提交ajax的示例一样。
表单#数据->#数据是表单的id
<script>
$("form#data").submit(function() {
if($("form#data").validationEngine('validate') != true){
return false;
}
var formData = new FormData($(this)[0]);
$.ajax({
url: '/test/test.php',
type: 'POST',
data: formData,
async: false,
success: function(data) {
data = jQuery.parseJSON(data);
if (data.result == true) {
alert('Your details updated successfully.');
}
else if (data.result == false) {
alert("Your details not updated!");
}
},
cache: false,
contentType: false,
processData: false
});
return false;
});
</script>
$(“表单数据”).submit(函数(){
if($(“表单数据”).validationEngine('validate')!=true){
返回false;
}
var formData=新formData($(此)[0]);
$.ajax({
url:“/test/test.php”,
键入:“POST”,
数据:formData,
async:false,
成功:功能(数据){
data=jQuery.parseJSON(数据);
如果(data.result==true){
警报(“您的详细信息已成功更新”);
}
else if(data.result==false){
警告(“您的详细信息未更新!”);
}
},
cache:false,
contentType:false,
processData:false
});
返回false;
});
现在,我向您展示在ajax调用中请求的test.php
<?php
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' )) {
$mt = $_POST['tmt'];
if($mt!=NULL){
$res11['result']=TRUE;
}else{
$res11['result']=FALSE;
}
echo json_encode($res11);
}
?>
这是通过ajax post获取数据的php文件。如果您有任何疑问或其他疑问,可以询问。如果我没有清楚地放置我的疑问,很抱歉。我需要访问php文件中的json…我在php中回显只是为了检查输出…@vivin您可以使用json_解码($\u post['json'))对于您的php,可以使用arrayI尝试了@Avi。但是在我的警报中,它给出了一条包含html内容的巨大消息-
@vivin这是一种错误。请告诉我警报中的确切消息。我发现了警告消息…json_decode()期望参数1是字符串,数组在…中给出。我试图使用JSON.stringify。但即使提交按钮的preventDefault()操作也没有执行。为什么会这样?以及