2012-04-27 2 views
-2

흥미로운 질문이있을 때 내 사이트의 백엔드에서 정보를 얻으려는 AJAX 요청을 만드는 일을 많이했습니다. PHP에서 html 스타일링을 한 다음 클라이언트에게 보내면 더 좋습니까? 아니면 json으로 데이터를 보내고 자바 스크립트로 스타일을 적용하는 것이 더 낫습니까? 이 질문은 종류 내가 예를 들어주지의 vauge 때문에PHP에서의 HTML 마크 업과 자바 스크립트

:

<?php 

$data = array(); 
$data[0] = array("username" => "Supericy", "content" => "just a sample message 1"); 
$data[1] = array("username" => "Supericy", "content" => "just a sample message 2"); 
$data[2] = array("username" => "Supericy", "content" => "just a sample message 3"); 
// etc... 


// now this is the choice: 
if ($json) 
{ 
    return json_encode($data); 
} 
else 
{ 

    // or 
    $returnString = ""; 
    for (...) 
    { 
     $returnString .= '<div class="username">' . $data[i]["username"] . '</div>'; 
     $returnString .= '<div class="content">' . $data[i]["content"] . '</div>'; 
    } 

    return $returnString; 
} 

?> 

및 다음 내 자바 스크립트 : 당신은 걱정할 필요 없다 다음 때문에 최종 스타일을 다시 좋아

// get the information as raw json 
var data = ajax_request(json = true); 

var author = document.createElement('div'); 
author.className = "author"; 
author.innerHTML = data[i]["username"]; 



var content = document.createElement('div'); 
content.className = "content"; 
content.innerHTML = data[i]["content"]; 

body.appendChild(author); 
body.appendChild(content); 

// -- OR -- 

// get the information as pre-formated html 
var data = ajax_request(json = false); 
body.innerHTML += data; 
+3

"의존"은 유일한 유용한 대답입니다. – Hamish

+0

누군가 JavaScript를 사용하지 않으면 어떻게됩니까? – jprofitt

+1

그러면 그는 아약스 전화를 어떻게 할 것인가? –

답변

2

다른 사용자가 언급했듯이, 대상 잠재 고객이 누구인지에 따라 크게 다릅니다. 시동 비용을 낮추기 위해 일반적으로 케이블/상수 인터넷 연결이있는 사용자를 위해 개발 중이라면 무엇이든 할 수 있습니다.

그러나 응용 프로그램을 디자인하고 비교적 유지 보수하기 쉽게하려면 JSON을 조사해야합니다. JSON을 사용한다면 JSON 객체의 디코딩을 안전하고 쉽게 처리 할 수 ​​있도록 jQuery와 같은 자바 스크립트 라이브러리를 선택하는 것이 좋습니다.

실제로 더 이상 AJAX 페이지에서 HTML을 반환 할 때도 JSON 개체로 래핑합니다. 그렇게 조금 더 표준화 된 것으로 보이며 이전 자바 스크립트 코드를 쉽게 재사용 할 수 있습니다.

  • HTML 코드는 코드에서 볼 수 있습니다 및 검증 문제를 쉽게 찾을 수 있습니다 직선 PHP에서

    HTML 보내기 :

    여기에 몇 가지 기본적인 장단점 있습니다.

  • 유지 관리가 더 쉽습니다. (핵심어 MAY.) 복잡한 HTML을 생성하는 경우 PHP로 작성하는 것이 더 쉬울 수도 있습니다.

PHP로 JSON을 보내기 및 자바 스크립트가 브라우저로 전송

  • 적은 데이터를 HTML로 변환시키는. 연결이 제한되어 있고 대역폭 사용료를 지불하는 모바일 사용자에게는 큰 이점입니다.
  • 일반적으로 유지 관리가 용이합니다.
  • 클라이언트 컴퓨터가 서버가 아닌 처리를 수행하도록합니다 (서버로드 감소).
  • 요즘은 서버와 통신하기위한 표준 형식으로 표시됩니다. Google Maps API조차 JSON을 사용하여 개발자와 상호 작용합니다.JSON을 새로운 XML로 생각할 수도 있습니다.

By JSON은 Javascript Object Notation의 약자입니다. 다음은 javascript의 객체에 대한 표준 구문을 따릅니다.

예 : var blah = { 'variable_name': 'variable_value'};

내 대답은 무엇이든지간에 JSON을 사용하는 것이지만, 사용자가 전송하는 데이터의 양을 결정해야합니다.

+1

+1 실제로 답변을 작성하는 데 +1. –

-1

브라우저 호환성 (즉, interent explorer)에 대해.

+0

JavaScript와 PHP를 사용하여 HTML을 만드는 데 호환성이 있습니까? – Ryan

1

매우 간단한 사이트/예제에서는 중요하지 않습니다 ... 더 큰 프로젝트의 경우, 항상 휴대 할 수있는 json 응답이 있어야합니다.

json을 사용하면 서버 호출과 js 뷰 논리를 모두 재사용 할 수 있습니다.

0

JSON이 선호됩니다. 자바 스크립트에서 HTML로 제대로 작업하는 것이 훨씬 쉽습니다. PHP의 json_encode은 매우 편리합니다. 또한, 그것은 좋은, 깨끗한 MVC 느낌을 준다.

관련 문제