2013-09-23 4 views
0

저는 Ajax를 배웠고이 튜토리얼을 따라했습니다 : https://phpacademy.org/course/submitting-a-form-with-ajax 어떤 폼에서도 작동하는 함수를 만들 수 있습니다. 당신은 내가 뭘 모든이 경우 PHP echo 인 응답을 경고하다시피javascript에서 PHP 응답을 처리하는 Ajax

$('form.ajax').on('submit', function() { 
    var that = $(this), 
     url = that.attr('action'), 
     type = that.attr('method'), 
     data = {}; 

    that.find('[name]').each(function(index, value) { 
     var that = $(this), 
      name = that.attr('name'), 
      value = that.val(); 

     data[name] = value; 
    }); 

    $.ajax({ 
     url: url, 
     type: type, 
     data: data, 
     success: function(response) { 
      alert(url + ' ' + response); 
     } 
    }) 
    return false; 
}); 

: 이것은 완전한 기능입니다. 그것이 내 문제가 시작되는 곳입니다. 자바 스크립트/PHP 통신을 처리 할 수있는 유연하고 안전한 방법이 필요합니다. 모든 양식에 대해 하나의 함수를 사용하는 것이 바람직하며 alert(url + ' ' + response);이 아닌 if() 문 대신 url 양식을 사용하는 것이 좋습니다.

필자가 필요로하는 기능은 응답을 기반으로 매우 복잡하지는 않지만 현재 양식을 오류로 업데이트 할 것입니다.

내가 의사 소통에 무엇을 사용해야하는지 알고 있기 때문에 나는 이상한 해결책을 느끼지 못했지만 지금은 처리 할 수있는 것이 전부다. echo '1';.

그래서 어떤 유형의 응답을 PHP 페이지에서 보내야합니까? (자바 스크립트에서) 그리고 그것을 처리하는 가장 좋은 방법은 어디입니까? 나는 json에 대해 들었지만 그 주위에 머리를 감싸는 데 어려움을 겪고있다. 누군가가 내 응답을 int로 데리러 쉽게 기본 정수를 보내는 json 응답을 보여줄 수 있을까요?

+0

간단한 JSON 응답'{응답 : 1} '-'response.response'로 접근합니다. (일반적으로 성공 콜백에서 필자의 param 이름으로'data'를 사용합니다.) – tymeJV

+0

작동을 시도했지만 정의되지 않은 부분 만 반환합니다. PHP에서는'if() {response : 1}'이 세미 콜론으로 시도하고 생각할 수있는 모든 것을했고, js에서는 성공했다 : function (response) { \t \t \t alert (url + '+ response.response); \t \t}' – justanotherhobbyist

+0

PHP 쪽에서 데이터를'json_encode'해야합니다. (당신의 타입이'json'이라고 가정하십시오.) – tymeJV

답변

2

PHP를 통해 간단한 JSON 응답을 보내고 success 콜백에서 확인할 수 있습니다. 확인 당신이 typejson에와 AJAX 호출로 설정하고, PHP 측에서 json_encode을 사용하고 있는지 :

$response = array('response' => 1); 
echo json_encode($response); 

출력이되어야합니다 :

{ 'response' : 1 } 
+1

'header ('Content-type : application/json ');' – Izkata

+0

완벽하게 작동합니다. 고마워요. – justanotherhobbyist

관련 문제