簡體   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