jquery
  • ajax
  • json
  • 2010-11-24 2 views 7 likes 
    7

    jQuery의 $ .post 호출을 사용하고 있는데 따옴표가있는 문자열이 반환됩니다. 따옴표는 json_encode 줄에 의해 추가됩니다. 따옴표를 추가하지 않으려면 어떻게합니까? 내 $ .post 호출에서 뭔가 빠졌습니까?

    $.post("getSale.php", function(data) { 
        console.log('data = '+data); // is showing the data with double quotes 
    }, 'json'); 
    

    답변

    12

    json_encode() 문자열을 반환 json_encode() 문서에서 :.

    Returns a string containing the JSON representation of value. 
    
    당신은 JSON 문자열을 구문 분석하는 dataJSON.parse()를 호출하고 객체로 그것을 돌 필요

    :

    $.post("getSale.php", function(data) { 
        data = JSON.parse(data); 
        console.log('data = '+data); // is showing the data with double quotes 
    }, 'json'); 
    

    console.log() 호출에서 문자열 data =data에 연결하고 있으므로 data.toString()이 기록되며 이는 객체의 문자열 표현()을 반환합니다. 따라서 data을 별도의 console.log() 호출에 기록하려고합니다. 다음과 같이 입력하십시오 :

    $.post("getSale.php", function(data) { 
        data = JSON.parse(data); 
        console.log('data = '); // is showing the data with double quotes 
        console.log(data); 
    }, 'json'); 
    
    +1

    최신 버전의 jQuery에서 올바른 MIME 유형을 사용하면 JSON이 자동으로 구문 분석됩니다. –

    +0

    너 다 남자 !!!!! – Catfish

    +0

    @Matthew +1, 아직도 이해할 수있는 문자열이기 때문에이 점을 이해합니다. MIME 형식이 잘못되었다고 생각합니다. – Alex

    1

    받고있는 데이터로 정확히 무엇을하려고합니까? "{"name":"sam"}""의 "name"과 같은 JSON 메시지의 특정 키를 얻으려는 경우 (JSON 객체가 아니라 JSON 배열이 있다고 가정하면) 두 번과 관계없이 data.name을 사용할 수 있습니다. . 따옴표

    +0

    일단 데이터를 가져 오면 html 태그 안에 데이터를 삽입하려고합니다. – Catfish

    +0

    json_encode (array())를 사용하여 PHP 파일의 값을 반환하는 것은 잘못된 것입니까? – Catfish

    +1

    @Catfish의 경우 JSON을 반환하도록 지정하려면'header ('Content-type : application/json');'을 사용해야합니다. –

    관련 문제