>  기사  >  백엔드 개발  >  PHP가 js 코드 조각을 반환하는 이유는 무엇입니까?

PHP가 js 코드 조각을 반환하는 이유는 무엇입니까?

WBOY
WBOY원래의
2016-12-05 13:44:18849검색

PHP가 왜 js 문자열을 반환하는지 이해가 안 되나요? 예: echo '<script>window.location.href="/index.php/Admin/Login"</script>';

답글 내용:

PHP가 왜 js 문자열을 반환하는지 이해가 안 되나요? 예: echo '<script>window.location.href="/index.php/Admin/Login"</script>';

JS는 PHP에서 실행될 수 없습니다. JS는 PHP가 HTML로 파싱된 후에만 실행될 수 있습니다. PHP를 사용하여 js를 출력하려면 js 코드를 php 문자열로 출력해야 합니다.

이것은 페이지로 이동하기 위한 것입니다. 이는 특정 요구 사항과 적용 시나리오에 따라 다릅니다. 예를 들어 다음 코드는

PHP가 js 코드 조각을 반환하는 이유는 무엇입니까?

(php) js는 서버에서 실행되지 않고 클라이언트에서 실행되어야 합니다.

php는 "<script></script>" 문자열을 프런트 데스크에 반환하고 내부 명령문을 실행하지 않습니다. 해당 문자열을 브라우저에 표시하면 브라우저가 자동으로 이를 컴파일하고 실행합니다. 스크립트.

file_get_contents($url) 사용을 고려해 보세요.

일반적으로 로그인 점프가 없는 경우 웹페이지 요청에서 판단

<code class="php">if(!$login){
// 和输出字符串没区别,只不过会被js执行
echo '<script>window.location.href="/index.php/Admin/Login"</script>';
}
</code>

질문하시는 분은 왜 점프하지 않았는지 묻고 싶으신 거겠죠?

질문의 의미가 무엇인지 잘 모르겠습니다. 읽어보시기 바랍니다. 提问的艺术...

php는 모든 코드를 반환할 수 있으므로 이에 대해서는 논의할 내용이 없습니다.

전에 가르친 인턴이 왜 PHP가 브라우저에 예외를 던질 수 없는지 물었습니다. 이제 한 여성 동료가 PHP에서 JS 변수를 가져와서 판단을 시도한 적이 있는데, 주제에 대한 질문도 있습니다. 기본적으로 요청이 어떻게 완료되는지, 프로그램이 어떻게 실행되는지 이해하지 못합니다.

설명하자면: 서버 측에서 PHP를 사용하여 개발할 때 PHP, HTML, JS 및 CSS 코드가 함께 작성되는 경우가 많습니다. 특히 PHP 코드가 후자 세 가지와 혼합될 때(CSS가 적습니다). 그러나 실제로 실행 중에는 이러한 부분이 독립적으로 실행됩니다.

PHP는 요청이 전송된 후 서버 측에서만 실행할 수 있습니다. PHP 인터프리터의 경우 . 이 코드 부분 이후에는 요청에 필요한 데이터가 생성됩니다. 데이터가 json 문자열인 경우도 있고 HTML, JS 및 CSS 코드가 포함된 페이지인 경우도 있습니다.

질문에 따라 PHP에서 생성된 JS 코드는 PHP 인터프리터의 경우 일반 문자열과 다르지 않습니다.

이후 서버는 PHP 버퍼(예: HTML, JS 및 CSS 코드가 포함된 페이지)에서 데이터를 읽은 다음 데이터를 패키징하여 브라우저로 보냅니다. 브라우저에는 HTML, JS, CSS용 인터프리터가 내장되어 있어 브라우저에서 HTML, JS, CSS 코드를 실행할 수 있습니다. 마찬가지로 브라우저에는 PHP 인터프리터가 없기 때문에 브라우저는 PHP 코드를 실행할 수 없습니다. 질문자는 로컬에서 정적 페이지를 작성하고 그 안에 PHP 코드를 작성한 다음 브라우저에서 열어 관찰할 수 있습니다.

간단히 말하면 벽 한쪽에는 HTML, JS, CSS를 실행할 수 있는 브라우저가 있고, 다른 쪽에는 실행할 수 있는 서버가 있는 것과 같습니다. PHP는 HTTP 프로토콜을 통해 상호 작용합니다. 브라우저의 경우 PHP 코드를 이해하지 못하기 때문에 PHP 코드 조각을 제공하더라도 브라우저에는 단지 일반적인 문자열 묶음일 뿐입니다. 마찬가지로 서버의 경우 소위 HTML, JS 및 CSS 코드는 "Hello, world"와 다르지 않습니다.

JS와 PHP 모두 모든 형식의 문자열을 생성할 수 있으므로 모든 언어로 코드를 생성할 수 있습니다.
더 나아가 해석하고 실행할 프로그램이 없다면 어떤 코드도 문자열 덩어리일 뿐입니다.

개인적인 의견이 있어 정정 부탁드립니다.

답변은 답변 아래 @清春月下님의 답변을 참고해주세요.

asp.net 웹폼 시대에는 "클라이언트에 대한 서버 측 등록 스크립트" 작업이 있었습니다. 결국 그 당시에는 프런트 엔드가 아직 등장하지 않았습니다.

이 질문은 두 가지 질문으로 나누어야 합니다.

  1. PHP가 왜 HTML 코드를 반환하는지 이해가 안 되나요?

  2. html을 이해하지 못한다면 왜 js 코드를 포함합니까?


큰 실수~

jsonp, 도메인 간 프로그래밍 방식

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.