2014-09-08 4 views
1

클라이언트 측에서 ajax 요청을 생성하고 서버 측에 데이터를 전달했습니다. 내가 직면 한 문제는 서버 측에서 전달 된 json 객체를 읽을 수 없다는 것입니다. 는 여기에 내가 서버 측의 JSON 데이터를 읽고 싶어 내가 서버 측에서 ajax json 데이터를 읽는 방법

var email=document.forms["login-form"]["email"].value; 
var password=document.forms["login-form"]["password"].value; 

alert("Innn"); 

$.ajax({ 

    type:"POST", 
    contentType: 'application/json', 
    url: "/wcw/wcw/checkuser.php", 
    data: JSON.stringify({email: email ,password: password}), 

}).done(function() { 

    alert("DONNEEEE"); 
    window.location.replace("checkuser.php"); 

}); 

를 사용하는 클라이언트 측 코드 세그먼트입니다.
$input = $_POST["email"]; 

$result = json_decode($input); 

echo $result; 

그러나 이것은

Notice: Undefined index: email in C:\xampp\htdocs\wcw\wcw\checkuser.php on line 18 

답변

1

오류 메시지를 말하는 오류를 줄 것이다는 인덱스 email가 정의되지 않은 말하고, 모든 것을 말한다. 당신이 $_POST['email']에 인덱스 email를 참조 할 때 존재하지 않는 의미, 그 때문에 당신이 POST에서 JSON 객체를 가져 오는 경우 data

$.ajax({ 
    type:"POST", 
    url: "/wcw/wcw/checkuser.php", 
    data: {email: email, password: password}, 
}).done(function(data){ 
    alert(data) 
}) 
+0

여전히 동일한 문제가 발생했습니다. –

+0

그냥 업데이트하여 다시 시도해보고 작동하는지 알려주세요. 위의 답변을 참조해야하는 경우 json 인코딩을 제거했습니다. 작동하지 않으면 –

+0

감사합니다. 지금 객체를 읽으셔서 감사합니다. 그러나 어떤 이유로 window.location.replace ("checkuser.php"); 교환 원 후에 일하지 않을 것이다 –

3

을 설정하는 방법입니다, php://input stream wrapper를 사용합니다. 입력 스트림에 액세스하면 원시 요청 본문을 읽을 수 있습니다.

$result = json_decode(file_get_contents("php://input")); 
관련 문제