2016-07-27 3 views
-1

jquery를 사용하여 다른 PHP 페이지로 양식 데이터를 보내려고합니다. 나는이 프로그램을 실행할 때 나는 '여기에 오류 나눠'경고를 얻을 및 출력 내 콘솔에 로그인Jquery 양식 데이터가 오류를 반환합니다.

var datastring = $("#form1").serialize(); 
      $.ajax({ 
       type: "POST", 
       url: "save.php", 
       data: datastring, 
       dataType: "json", 
       success: function(data) { 
        console.log(data) 
       }, 
       error: function(data) { 
        alert('error handing here'); 
        console.log(data) 
       } 
      }); 

:

는 내가 가지고있는 코드입니다.

저장은 포함 : 콘솔 로그온

<?php 
    ECHO "HELLO"; 
?> 

데이터는 다음과 같습니다

Object {readyState: 4, responseText: "HELLO", status: 200, statusText: "OK"}

사람이 작동하지 않습니다 .. 그리고 어떻게 그렇게되면 내가 왜 조언을 할 수 save.php에 제출 된 데이터를 읽으시겠습니까?

감사

+2

당신은 JSON 응답을 요구하고 있지만'HELLO'는 JSON 유효하지 않습니다 그래서 당신은 dataTypehtml에 또는 text하여 변경해야 . 따라서 jQuery의 내부 구문 분석 작업이 실패하고 오류가 발생합니다. –

+2

PHP 스크립트에서 형식화 된 JSON 문자열을 반환하지 않으므로 그 이유가 있습니다. 따라서 테스트하려면 JSON을 반환하거나 ajax 요청에 대한'datatype' 옵션을 제거하십시오. –

+1

'dataType : 'text''이 PHP에서 json_encode()를 사용하여 실제로 JSON 응답을 반환합니다. –

답변

2

당신은 스크립트에 응답 JSON을하지 않습니다, 그것은 일반 텍스트입니다.

dataType: "html", 

아니면 JSON 응답에 PHP 스크립트를 변경 :

echo json_encode(array("text" => "HELLO")); 
관련 문제