如何在jquery中解码/分离php编码的json。

时间:2017-02-23 08:18:57

标签: javascript php jquery json ajax

我想将我编码的json解码为jquery并将所有分隔的代码设置为不同的表单元素。在这里,我发布了我的所有代码。

php code ..

<?php
    if(isset($_POST['passid']) === true && empty($_POST['passid'])=== false)
{
    //$q = $_POST['increament'];[![enter image description here][1]][1]
    mysql_connect('localhost','root', '');
    mysql_select_db('kmk_inst');
    $query = mysql_query("select Q_Id, QP_Name, Question from question_paper where Q_Id = '".mysql_real_escape_string(trim($_POST['passid']))."'")
    or die("Wrong Query".mysql_error());
    //echo (mysql_num_rows($query) !== 0) ? mysql_result($query, 0 , 'QP_Name'): 'passid not found';
    //$row = mysql_fetch_array($query);

    if ( mysql_num_rows($query) !== 0 ) {
        $data = json_encode(mysql_fetch_assoc($query));
        echo $data;
    }
?>

HTML CODE

<a class="btn btn-primary col-xs-12 col-lg-2" style="float: right; margin:10px;" id="savenext" name="savenext" onclick="return dataPass()">Save & Next</a></span>
<input type="text" style="width: 410px;text-align: center; margin: 0px;" class="onlyNumber form-control pull-left" id="ques" value="1" name="ques" />
<input type="text" style="width: 410px;text-align: center; margin: 0px;" class="onlyNumber form-control pull-left" id="QPt" value="1" name="QPt" />

** jquery **

$('a#savenext').on('click',function(){
var passid = $('input#ques').val();
//var name = $('input#QPt').val();
if($.trim(passid) != '')
{
        $.post('retrivedata.php', { passid: passid}, function(data){

            //$.each(data, function(i, name) {
            //      alert(name.Q_Id);
            //});
            $('div#datatable').text(data);
            //$('input#QPt').text(QPt);
        });
    }
});

我是jquery Ajax和JavaScript的新手,所以我无法处理它。任何帮助欣赏。

目前我的结果是这样的。

3 个答案:

答案 0 :(得分:0)

在php中设置正确的标题

header('Content-Type: application/json');
$data = json_encode(mysql_fetch_assoc($query));

jquery将负责解析

将数据添加到您的页面使用附加

      $('body').append('<form><p>'+data.Question+'<input value="'+data.QP_Name+'"></from>');

var data = {
  "Q_Id": "1",
  "QP_Name": "test1",
  "Question": "Which is indian capital.?"
};
$('#ques').val(data.Question);
$('#QPt').val(data.QP_Name);
$('body').append('<form><p>' + data.Question + '<input value="' + data.QP_Name + '"></from>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="btn btn-primary col-xs-12 col-lg-2" style="float: right; margin:10px;" id="savenext" name="savenext" onclick="return dataPass()">Save & Next</a></span>
<input type="text" style="width: 410px;text-align: center; margin: 0px;" class="onlyNumber form-control pull-left" id="ques" value="1" name="ques" />
<input type="text" style="width: 410px;text-align: center; margin: 0px;" class="onlyNumber form-control pull-left" id="QPt" value="1" name="QPt" />

答案 1 :(得分:0)

将json设置为ajax调用返回的数据类型,如下所示:

$('a#savenext').on('click',function(){
var passid = $('input#ques').val();
//var name = $('input#QPt').val();
if($.trim(passid) != '')
{
        $.post('retrivedata.php', { passid: passid}, function(data){

            //$.each(data, function(i, name) {
            //      alert(name.Q_Id);
            //});
            $('div#datatable').text(data);
            //$('input#QPt').text(QPt);
        },'json');
    }
});

答案 2 :(得分:0)

$('a#savenext').on('click',function(){
  var passid = $('input#ques').val();

if($.trim(passid) !=)
{
    $.post('retrivedata.php', {passid: passid}, function(data){          

        var da = JSON.parse(data);              
        $('div#datatable').text(da.QP_Name);            
        //alert(da.QP_Name);             
    });

  }
});