2013-07-22 4 views
0

내가 원한다. 사용자가 양식 (단일 텍스트 입력)을 제출하고 PHP로 전송하십시오. PHP는 이것을 반환합니다.jQuery에 PHP - json 잡기

{"status":"true","custid":"00001","custname":"John"} 

가 나는 JSON 형식으로되어 있음을 알고,하지만 난 잡는 방법을 알고 가치 내가 할 수있는 우리 이렇게 반환 된 값을 사용하지 않습니다. 당신이 json에 데이터 유형을 설정 때문에

$(function(){ 
$('#icnumber-form').submit(function(){  

    var icno = $('#icnumber').val(); 
    var purl = 'php/create_process.php' 

    $.ajax({ 
     type : 'POST', 
     url  : purl, 
     cache : false, 
     data : icno, 
     dataType: 'json', 
     success : function(response){ 
      var json = $.parseJSON(response); 
      alert(json.message); 
     },   
     beforeSend:function(){ 
      $('.cust-exist-view').show(); 
      } 
    }); 
    return false; 

}) 
}); 
+0

아니합니다. 경고조차 나오지 않았습니다. – rolodex

답변

1

는 응답은 다시 이미 구문 분석 대상으로 온다, 그래서 당신은 스스로를 구문 분석하려고하지 않습니다.

success : function(response){ 
     alert(response.status); 
    },    
+0

작동하지 않습니다. 구문 분석을 제거했습니다. 여전히 데이터에 대한 경고가 없습니다. – rolodex

+0

그런 다음 오류 콜백을 처리하십시오. – imkrisna

0

당신은 jQuery를 자동으로 객체에 JSON 문자열을 구문 분석하기 때문에 VAR json = $.parseJSON(response);를 사용할 필요가 없습니다. json 속성에 액세스하려면 자바 스크립트 객체로 사용하십시오. 나는 당신의 코드에서 간단한 데모를 만든다. View it in jsfiddle

JS 코드 :

$(function() { 
    $('#icnumber-form').submit(function() { 

     //var icno = $('#icnumber').val(); 
     var purl = '/echo/json/' 

     $.ajax({ 
      type: 'POST', 
      url: purl, 
      cache: false, 
      data: { 
       json: '{"status":"true","custid":"00001","custname":"John"}', 
       delay: 1 
      }, 
      dataType: 'json', 
      success: function (response) { 
       alert("status:" + response.status 
         + "\ncustname:"+response.custname 
         + "\ncustid:"+ response.custid); 
      }, 
      beforeSend: function() { 
       // $('.cust-exist-view').show(); 
      } 
     }); 
     return false; 

    }) 
}); 


그래서 그냥 JSON 반환을 사용하는 방법을 보려면이 부분을 확인해야합니다

success: function (response) { 
       alert("status:" + response.status //access status 
         + "\ncustname:"+response.custname //access custname 
         + "\ncustid:"+ response.custid); // access custid 
      }, 
+0

정말 이것을 이해할 수 없습니다. 내가하고 싶은 것은 배열에서 PHP로 데이터를 얻는 것이다. 지금,'data : icno'는 서버로 보내지는 데이터입니다, 그렇죠? 문제는, json을 올바르게 받았다는 것입니다. 어떻게 잡을 수 있습니까? – rolodex

+0

jsfiddle에서는 테스트 용 PHP 응답을 시뮬레이션합니다. 코드에서 Json 속성에 액세스하는'function success'에 신경 써야합니다. – JamesN

+0

'data'에 데이터를 선언했기 때문에 그렇지 않습니까? 코드를 시도했지만 작동하지 않습니다. – rolodex