2017-02-10 2 views
0

쿼리가 실행되면 배열을 AJAX로 전송하여 상태를 반환했습니다.AJAX에서 응답 텍스트 검색

if(mysqli_query($dbconfig,"INSERT INTO todo(description) values('$desc')")){ 
     $response['success']="true"; 
} 
header('Content-type: application/json'); 
echo json_encode($response); 

클라이언트 측 스크립트에서 상태에 따라 메시지를 표시하려고 다음 코드를 시도했습니다.

if(response.status=="success"){ 
     alertify.success("New item has been added successfully"); 
}else if(response.status=="error"){ 
     alertify.error("Error while adding the item"); 
} 

쿼리가 올바르게 실행 되더라도 두 경우 모두를 만족하지 못합니다. 내 콘솔 로그에 상태가 성공을 표시합니다. 당신은 당신이 두 가지

if(response.status === 200){ 
    //handle success 
} else { 
    //handle error 
} 

또는 당신이 좋아하는 경우에, 당신이 시도 할 수 할 수 제공된 코드를 기반으로

enter image description here

+0

당신이있어 개체가 당신이 성공 처리기에서 얻은 것을 인쇄 하시겠습니까 ?? – r1verside

+0

@ r1verside 죄송합니다. 성공 처리기가 무엇인지 알지 못했습니다. 방금 console.log (응답); 여기서 response는 함수의 매개 변수입니다. –

+0

AJAX 청원은 비동기식이기 때문에 성공 처리기는 서버가 청원서에 응답 할 때 실행될 청원 코드에 전달하는 기능입니다. 나는 그것이 당신이'console.log (응답)'을 쓴 곳이라고 생각한다. 그렇다면 내 대답에서 제공 한 두 가지 해결책 중 하나가 트릭을 수행해야합니다. – r1verside

답변

1

:

var status = JSON.parse(response.responseText); 
if(status.status === "success"){ 
    //handle success 
}else{ 
    //handle error 
} 
+0

제공 한 두 가지 방법을 시도했습니다. 그 밖의 경우에도 상태가 성공한 상태가됩니다. –

+1

결과 액션 핸들러에 console.log (응답)를 넣었 으면 결과가 질문에 붙여 넣은 것입니다. 그것은 작동해야합니다. [Chrome Dev Tools] (https://developers.google.com/web/tools/chrome-devtools/) – r1verside

+1

@SureshPokharel에서 두 번째로 오류가 발생했습니다. 대신 ResponseText에서 객체를 비교했습니다. 상태 속성 – r1verside

관련 문제