Ajax 결과를 반환할 때
$.ajax({ ... success: function (data) { addType = "change"; var obj = JSON.parse(data); console.log(data); } })
$addID = $this->input->post('addId'); $data = $this->Address_model->getAddressListInfo($addID); (1)echo json_encode($data); (2)return json_encode($data);
위에서 echo를 사용할 수 있지만 반환할 수는 없습니다! 해결방법
echo: 결과 출력에 사용
return: 처리 결과 반환
출력 결과가 없는데 js는 어떻게 받나요?
return은 에 대한 후속 호출을 용이하게 하기 위해
함수에서 반환 값으로 사용됩니다. 이는 확실히 불가능합니다.
return은 반환된 메서드의 실행 결과 집합이며 출력이 없습니다.
echo는
문자열을 가져와야 하는 json ajax json 객체 를 출력하는 것입니다.
결과는 눈으로 볼 수 있겠네요.
생각해보면 PHP 언어에서 함수의 반환 값은 javascript
...이전에 제가 소개한 한 신인이 브라우저에 PHP 예외를 던지고 싶다는 생각이 들었습니다...
return
은 Ajax 응답입니다. echo
echo는 요청자에게 결과를 출력하는 것을 의미하고, return은 결과를 출력하지 않고 호출자에게 값을 반환하는 것을 의미합니다. Ajax는 페이지 값을 기반으로 데이터를 얻습니다.
위 내용은 PHP에서 echo와 return의 차이를 자세히 설명한 코드 예시입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!