2013-08-30 2 views
0

Ajax를 서버 측 (PHP)으로 호출 할 때 호출에서 허용 할 유형 데이터를 지정할 수 있습니다. 나는 이것이 종종 JSON 객체라는 것을 알고있다.MySQL 결과의 JSON 객체

이 Ajax 호출에서 지정할 수있는 다른 객체 유형이 있습니까?

JSON은 Javascript 용이므로 데이터를 해당 형식으로 원하지만 가져온 쿼리 결과 개체를 PHP보기에서 수행하는 것과 같이 직접 사용하지 않는 이유는 무엇입니까?

+0

그리고 어떻게 HTTP를 통해 배열을 전달할 예정입니까? 어떤 형식입니까? 누가이 형식을 디코딩합니까? –

+0

_ JSON은 Javascript 용이므로 _ - 실제로는 JS와 작동하지만 실제로는 그렇지 않습니다. 자바 스크립트에서 영감을 받았다고 말하는 것이 더 정확할 것입니다. 대부분의 언어에서 사용할 수있는 데이터 전송 용 문자열 기반 형식입니다. – nnnnnn

+0

입력 해 주셔서 감사합니다. 나는 그것의 이름에서 자바 스크립트에 대한 것이라고 생각했다. –

답변

4

JavaScript와 PHP는 원시 데이터로 HTTP를 통해 서로 통신합니다 (일반 텍스트 문자열로 간주 할 수 있음). 모든 데이터 변환은 원시 데이터를 수신 할 때 언어 인터프리터가 처리합니다. 따라서 인 것처럼 보일지라도 자바 스크립트 객체를 앞뒤로 전달하는 것처럼 JSON 형식의 문자열을 전달하기 만하면 JavaScript 라이브러리가 자동으로 구문 분석을 수행하고있는 것입니다.

PHP는이 원시 데이터를 방출하여 HTTP 요청의 데이터 만 반환 할 수 있습니다. 일반적으로 문자열 변환이 발생합니다. 쿼리 결과 개체가 있다고 가정하면 다음과 같이 처리 할 수 ​​있습니다.

어쩌면 "Object (# 1Result)"또는 객체의 toString 메서드가 무엇이든간에 에코됩니다. JavaScript 측면에서는 그리 유용하지 않습니다.

PHP 뷰라고 할 때 어떤 의미인지 모르겠지만 템플릿 엔진이 있다고 상상해보십시오. 이것은 PHP로 작성되었으며 php 객체 자체에서 작업을 수행하여 일부 형식 (보통 HTML)으로 내보내는 데 필요한 데이터를 가져올 수 있습니다.

왜 HTML 대신 JSON을 사용하는 것이 더 나은가요? 선택에 상관없이 장단점이 많습니다. JSON은 일반적으로 크기가 작고 단순하기 때문에 일반적으로 좋은 선택입니다. 원시 HTML을 실제로 표시하려면 클라이언트의 JSON에서 다시 작성하는 대신 HTML을 보내는 것이 더 쉬울 수 있습니다.

+0

감사합니다. PHP 뷰가 의미하는 것은 프리젠 테이션 레이어에 결과를 표시하는 것입니다. –

1

AJAX 호출이 자바 스크립트 함수에 의해 해고되고 (결과가 아니므로) 결과가 자바 스크립트 콜백 함수에 반환되므로 (클라이언트 측에서) 자바 스크립트로 작업하고 있습니다.

JSON, 일반 텍스트, XML을 반환 할 수 있지만 그때 어떤 형식으로 작업하고 있습니까?이 시점에서 JSON이 가장 좋은 옵션입니다.