json 객체에 액세스하면 정의되지 않음

사마 뉴 메라

저는 Ajax와 Json을 처음 사용합니다. Java 서블릿에서 데이터를 요청하기 위해 Ajax를 사용하고 있으며 JSON 배열을 얻고 있습니다. 이제 액세스를 시도하고 있지만 정의되지 않은 것으로 표시됩니다. 또한 이미지를 표시하려고합니다. 데이터베이스에서 이미지 이름을 얻고 세션 변수를 사용하여 이미지 경로를 추가합니다.

JSP 파일

<div class="search-container">
        <form id="form" name="form">
            <input type="text" id="docName" name="docSearch" placeholder="Search for any doctor by name..." style="width:30%">
            <button type="button" class="btn btn-success" id="mybtn" onclick="searchDoc()">Search</button>
        </form>
    </div>
    <br>
    <div id="img"></div>    

내 서블릿

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Connection con = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        PrintWriter out=response.getWriter();
        HttpSession session=request.getSession(false);
        GetUserDetails details=new GetUserDetails();

        response.setContentType("application/json"); 

        String name=request.getParameter("val");
        String sql ="select fName,lName,exp,fees,user_img,username,mob,addr,email from users where fName='"+name+"'";
        String special="";
        String degree="";

        if(name==null||name.trim().equals(""))
            out.print("<p>Please enter name!</p>");
        else {
            List<Bean> docSearchList=new ArrayList<Bean>();
            try {
                con=DBConnection.createConnection();
                ps=con.prepareStatement(sql);
                rs=ps.executeQuery();
                while(rs.next()) {
                    List<String> list=details.getSpecialByUsername(rs.getString("username"));
                    special+=list.get(0);
                    for(String s:list) {
                        if(s.equals(special)) {}
                        else 
                            special+=", "+s;
                    }
                    list=details.getDegByUsername(rs.getString("username"));
                    degree+=list.get(0);
                    for(String s:list) {
                        if(s.equals(degree)) {}
                        else 
                            degree+=", "+s;
                    }
                    Bean docSearchBean=new Bean();
                    
                    docSearchBean.setfName(rs.getString("fName"));
                    docSearchBean.setlName(rs.getString("lName"));
                    docSearchBean.setExperience(rs.getString("exp"));
                    docSearchBean.setFees(rs.getString("fees"));
                    docSearchBean.setUserImage(session.getAttribute("patientSearchImage")+rs.getString("user_img"));
                    docSearchBean.setMobile(rs.getString("mob"));
                    docSearchBean.setAddress(rs.getString("addr"));
                    docSearchBean.setEmail(rs.getString("email"));
                    docSearchList.add(docSearchBean);
                }
            }catch (Exception e) {
                e.printStackTrace();
            }
            Gson gson=new Gson();
            JsonElement element=gson.toJsonTree(docSearchList,new TypeToken<List<Bean>>() {}.getType());
            
            JsonArray jsonArray=element.getAsJsonArray();
            response.setContentType("application/json");
            response.getWriter().print(jsonArray);
        } 
    }
}

내 Js 파일

function searchDoc() {
    var request = new XMLHttpRequest();
    var name = document.form.docSearch.value;
    var url = "/Doctor_Appointment_Application/PatientSearch?val=" + name;
    request.open("GET", url, true);
    request.responseType = 'text';
    request.send();
    
    try {
        request.onload = function() {
        var val = request.responseText;
        var targetDiv=document.getElementById("img").innerHTML=val;

/*      var parsed=JSON.parse(val);
*/              
        var image=document.createElement("img");
        image.src=val.img;
        image.className+="img";
        
        var targetDiv=document.getElementById("img");
        targetDiv.appendChild(image);

        
/*      console.log(parsed.img);
        console.log(parsed.fName);  
        console.log(parsed.lName);  
        console.log(parsed.username);
        console.log(parsed.exp);    
        console.log(parsed.fees);   
        console.log(parsed.special);    
        console.log(parsed.degree); 

        
        var p=document.createElement("p");
        p.innerHTML=parsed.fName;

        var p1=document.createElement("p");
        p1.innerHTML=parsed.lName;

        var p2=document.createElement("p");
        p2.innerHTML=parsed.username;

        var p3=document.createElement("p");
        p3.innerHTML=parsed.exp;

        var p4=document.createElement("p");
        p4.innerHTML=parsed.fees;

        var p5=document.createElement("p");
        p5.innerHTML=parsed.special;

        var p6=document.createElement("p");
        p6.innerHTML=parsed.degree;
                
        var targetDiv=document.getElementById("img");
        targetDiv.appendChild(image);
        targetDiv.appendChild(p);
        targetDiv.appendChild(p1);
        targetDiv.appendChild(p2);
        targetDiv.appendChild(p3);
        targetDiv.appendChild(p4);
        targetDiv.appendChild(p5);
        targetDiv.appendChild(p6);
*/              
            }//end of function 
        } catch (e) {
            alert("Unable to connect to server");
    }
}

내 JS 파일에서 몇 가지 주석을 볼 수 있습니다. 내 의견에서 JSON 객체를 js 객체로 구문 분석하고 그런 방식으로 액세스하려고 시도했지만 여전히 정의되지 않은 것으로 표시됩니다. 세션 변수에 저장된 이미지의 경로 :-String patientSearchImage="IMG\\";

모든 제안을 주시면 감사하겠습니다. 감사합니다 :)

사마 뉴 메라

이 오류를 해결했습니다. 이것을 참조 할 수 있도록 제가 어떻게했는지 말씀 드리겠습니다. [{ "fName": "Samanyu", "lName": "Mehra"}, { "fName": "Rajesh", "lName": "Khanna"}]와 같은 JSON 배열이있는 경우. 그런 다음 JSON 개체를 구문 분석 한 다음 for 루프를 사용하여 액세스하면됩니다.

var parsed=JSON.parse(val);
for(i in parsed){
    console.log(parsed[i]["fName"]);
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이 JSON 객체에 액세스하는 방법-정의되지 않은 오류

분류에서Dev

JSON 데이터에 액세스-정의되지 않음

분류에서Dev

json 데이터 (ajax)에 액세스하려고 할 때 정의되지 않음

분류에서Dev

Javascript는 json 객체에 액세스하지 않습니다.

분류에서Dev

json 요소에 액세스하면 정의되지 않은 오류가 발생합니다.

분류에서Dev

서비스에서 반환 된 객체에 액세스 할 수 있지만 해당 속성에 액세스하면 정의되지 않은

분류에서Dev

JSON 개체의 값이 액세스되지 않음

분류에서Dev

두 개의 동일한 JSON 객체 중 하나의 경우 자바 스크립트의 값에 액세스하면 다른 하나는 정의되지 않은 상태로 반환됩니다.

분류에서Dev

객체 배열에 액세스하여 결과를 "정의되지 않음"으로 제공

분류에서Dev

객체 배열에 액세스하여 결과를 "정의되지 않음"으로 제공

분류에서Dev

배열의 인덱스에 액세스하면 정의되지 않음을 반환합니다.

분류에서Dev

배열의 mongoDB 객체에 액세스 할 수 없음-정의되지 않은 반환

분류에서Dev

키 이름을 사용하지 않고이 json 객체의 값에 액세스하고 싶습니다.

분류에서Dev

Angular 컨트롤러에서 입력 필드에 액세스하면 정의되지 않음

분류에서Dev

이것으로 변수에 액세스하면 맵에서 정의되지 않음을 반환합니다.

분류에서Dev

json 객체의 #element에 액세스

분류에서Dev

정의되지 않은 [nodejs, fs]를 반환하는 json 객체

분류에서Dev

속성에 액세스 할 때 Javascript 객체가 정의되지 않음으로 바뀝니다.

분류에서Dev

정의되지 않은 JSON 객체 (Nodejs)

분류에서Dev

PHP에서 JSON 객체, 배열 객체의 값에 액세스

분류에서Dev

AngularJS $ scope 변수에 액세스하려고 할 때 정의되지 않음

분류에서Dev

매개 변수에 액세스하려고 할 때 정의되지 않음

분류에서Dev

이 JSON 객체에서 '정의되지 않음'이 표시되는 이유는 무엇입니까?

분류에서Dev

객체 null과 moxy에 의해 json에 제공되지 않은 객체를 구별하는 방법

분류에서Dev

Javascript 개체 메서드 액세스 할 수 없음 / 정의되지 않음

분류에서Dev

Json 객체에 액세스

분류에서Dev

json 파일에서 개체를 가져 오려고하는 루프에서 "정의되지 않음"

분류에서Dev

JSON을 파싱하여 React Native에서 모델이 정의되지 않음

분류에서Dev

콘솔에 개체를 표시하지만 PHP 스크립트에서 반환 한 문자열의 '정의되지 않음'도 포함하는 JSON 개체

Related 관련 기사

  1. 1

    이 JSON 객체에 액세스하는 방법-정의되지 않은 오류

  2. 2

    JSON 데이터에 액세스-정의되지 않음

  3. 3

    json 데이터 (ajax)에 액세스하려고 할 때 정의되지 않음

  4. 4

    Javascript는 json 객체에 액세스하지 않습니다.

  5. 5

    json 요소에 액세스하면 정의되지 않은 오류가 발생합니다.

  6. 6

    서비스에서 반환 된 객체에 액세스 할 수 있지만 해당 속성에 액세스하면 정의되지 않은

  7. 7

    JSON 개체의 값이 액세스되지 않음

  8. 8

    두 개의 동일한 JSON 객체 중 하나의 경우 자바 스크립트의 값에 액세스하면 다른 하나는 정의되지 않은 상태로 반환됩니다.

  9. 9

    객체 배열에 액세스하여 결과를 "정의되지 않음"으로 제공

  10. 10

    객체 배열에 액세스하여 결과를 "정의되지 않음"으로 제공

  11. 11

    배열의 인덱스에 액세스하면 정의되지 않음을 반환합니다.

  12. 12

    배열의 mongoDB 객체에 액세스 할 수 없음-정의되지 않은 반환

  13. 13

    키 이름을 사용하지 않고이 json 객체의 값에 액세스하고 싶습니다.

  14. 14

    Angular 컨트롤러에서 입력 필드에 액세스하면 정의되지 않음

  15. 15

    이것으로 변수에 액세스하면 맵에서 정의되지 않음을 반환합니다.

  16. 16

    json 객체의 #element에 액세스

  17. 17

    정의되지 않은 [nodejs, fs]를 반환하는 json 객체

  18. 18

    속성에 액세스 할 때 Javascript 객체가 정의되지 않음으로 바뀝니다.

  19. 19

    정의되지 않은 JSON 객체 (Nodejs)

  20. 20

    PHP에서 JSON 객체, 배열 객체의 값에 액세스

  21. 21

    AngularJS $ scope 변수에 액세스하려고 할 때 정의되지 않음

  22. 22

    매개 변수에 액세스하려고 할 때 정의되지 않음

  23. 23

    이 JSON 객체에서 '정의되지 않음'이 표시되는 이유는 무엇입니까?

  24. 24

    객체 null과 moxy에 의해 json에 제공되지 않은 객체를 구별하는 방법

  25. 25

    Javascript 개체 메서드 액세스 할 수 없음 / 정의되지 않음

  26. 26

    Json 객체에 액세스

  27. 27

    json 파일에서 개체를 가져 오려고하는 루프에서 "정의되지 않음"

  28. 28

    JSON을 파싱하여 React Native에서 모델이 정의되지 않음

  29. 29

    콘솔에 개체를 표시하지만 PHP 스크립트에서 반환 한 문자열의 '정의되지 않음'도 포함하는 JSON 개체

뜨겁다태그

보관