繁体   English   中英

在 javascript 中使用 JSON.parse 对数据进行 Json_encode

[英]Json_encode data using JSON.parse in javascript

PHP文件

<?php
    include"connection.php";
    $id = $_GET['edit'];
    // echo $id;

    $sql = "SELECT * FROM form WHERE id=$id";
    $result = $conn->query($sql);

    $row=$result->fetch_assoc();
    $json_res=array();
    $json_res = array('user'=>($row));
    echo json_encode($json_res);

    $conn->close();
?>

JavaScript 文件

<script type="text/javascript">
function loadup(str){

    var xmlhttp;
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            // var json = '{"user":[{"id":"45","name":"dfgMohan","loc":"Cherthala","dist":"Alappuzha","phone":"456","email":"fgdfgh@gmail.c","gender":"male","proofid":"2","sslc":"SSLC","plus2":"PLUS 2","degree":"DEGREE","pg":""}]}';

            var x=xmlhttp.responseText;                    

            var json1=JSON.parse(x);
            alert(json1.user[0].id);
            alert(json1.user[0].name);

            document.getElementById("myd").innerHTML=json1;
        }
    } 

    xmlhttp.open("GET","plain.php?edit="+str,true);
    xmlhttp.send();
}

</script>

为什么我不能提醒这个?

alert(json1.user[0].id);
alert(json1.user[0].name);

当我尝试提醒它时,没有显示提醒消息。

当我提醒一些消息时,它在解析代码之前显示,然后在它不执行之后显示。 代码卡在解析代码行上。 如何解决这个问题?

<?php

include"connection.php";
$id = $_GET['edit'];
// echo $id;


$sql = "SELECT * FROM form WHERE id=$id";
$result = $conn->query($sql);

$row = $result->fetch_assoc();
$json_res = array();

array_push($json_res, $row);


echo json_encode($json_res);





$conn->close();
?>

javascript文件包含

<script type="text/javascript">
            function loadup(str) {

                var xmlhttp;
                if (window.XMLHttpRequest)
                {// code for IE7+, Firefox, Chrome, Opera, Safari
                    xmlhttp = new XMLHttpRequest();
                }
                else
                {// code for IE6, IE5
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange = function ()
                {
                    if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
                    {
                        //var json = '{"user":[{"id":"45","name":"Raj Mohan","loc":"Cherthala","dist":"Alappuzha","phone":"9846320121","email":"rajmohan6535@gmail.c","gender":"male","proofid":"2","sslc":"SSLC","plus2":"PLUS 2","degree":"DEGREE","pg":""}]}';

                        var x = xmlhttp.responseText;


                       var json1 = JSON.parse(x);

                       document.getElementById("mydiv").innerHTML = "ID : "+json1[0].id;
                       document.getElementById("myd").innerHTML = "NAME : "+json1[0].name;



                    }
                }

                xmlhttp.open("GET", "plain.php?edit=" + str, true);
                xmlhttp.send();
            }

        </script>

当我们给出响应时,请确保该 php 文件页面中不包含 html ......甚至注释行......他们会给出响应,我们无法解析响应文本所以要小心......当我们传递来自php dnt 添加或评论 php 中包含的任何 html(服务器访问页面)

我想你们都可以理解我的回答..如果不是很好,请原谅我..我的英语交流非常低,那是..

要检查 html 是否包含包含在响应中,您只需在 javascript 中提醒响应,然后它显示任何 html 包含响应,然后 php 有一些 html 包含我们无法解析它.....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM