2010-04-15 11 views
0

내 웹 페이지에서 JSON을 인식하는 데 약간의 문제가 있습니다. 나는 서버에서 반환되는 인스턴트 메신저 JSON 유효성을, 그래서 그것이 올바른지, 그래서 내 JavaScript 함수가 아무것도하지 않는 것을 알고있다.JSON이 인식되지 않습니다.

success: function(data) { 
    $('input[name=customer_name]').val(data.name); 
    $('textarea[name=customer_address]').text(data.address); 
    $('input[name=customer_email]').val(data.email); 
    $('input[name=customer_tel]').val(data.tel); 
    $('input[name=user_id]').val(item.id); 
} 

을하지만 내 JSON 데이터의 샘플, 도움이된다면 필드가 반환 된 데이터로 다시 채워되지 않는 :

{ 
    "name": "Terry O'Toole", 
    "address": "Terrys House\nTerry Street\nTerrysville\nTerrytown\nTT1 6TT", 
    "email": "[email protected]", 
    "tel": "05110000000" 
} 

상관 도움이 될 것이다 다음과 같이 내 succes에 기능입니다 고맙습니다.

[편집]

확장 아약스 전화 :

$.ajax({ 
    url: "<?php echo site_url('user/users/ajax'); ?>", 
    type: 'POST', 
    data: {"userid": item.id}, 
    success: function(data) { 
    $('input[name=customer_name]').val(data.name); 
    $('textarea[name=customer_address]').text(data.address); 
    $('input[name=customer_email]').val(data.email); 
    $('input[name=customer_tel]').val(data.tel); 
    $('input[name=user_id]').val(item.id); 
    } 
}) 
}); 
+0

게시 한 내용에 아무런 문제가 없으므로 더 많은 코드를 보는 것이 도움이됩니다. 아약스 콜은 어떻게 생겼지? – Pointy

+0

확장 된 ajax를 추가했습니다. – richzilla

+0

''는 PHP 코드를 나타냅니다. JavaScript와는 관련이 없습니다. 생성 된 * 소스 코드를 살펴 봐야합니다. 또한 jQuery를 사용하고 있습니까? –

답변

6

난 당신이 (당신이 사용하고있는 val 함수에서) jQuery를 사용하고 가져 가라. dataType 매개 변수를 $.ajax으로 지정 하시겠습니까? 예컨대 :

$.ajax({ 
    url: "blah", 
    dataType: "json", 
    success: ... 
}); 

그렇지 않은 경우는 (아마도 당신이 올바른 콘텐츠 유형을 다시 전송하지 않는?) 정확하게 추측 할 수 없습니다 당신이 그것을에 JSON.parse을 사용해야합니다. 그러나 A) 응답에 올바른 콘텐츠 유형을 설정하고 B) dataType을 사용하여 코드에 의도를 표현하십시오.

편집을 보았습니다. 확실히 dataType을 추가하십시오.

+0

하. 알았다. 데이터 유형을 추가하면 대우가 효과적입니다. 도움을 주셔서 감사합니다 – richzilla

+2

@richzila :이 대답이 효과가 있다면 받아 들여야합니다. –

+0

@richzila : 걱정 마세요, 기뻤습니다. –

관련 문제