>백엔드 개발 >PHP 튜토리얼 >javascript - 로컬 Ajax 요청이 PHP 서버와 같은 매개변수를 기반으로 해당 데이터를 반환할 수 있습니까? ?

javascript - 로컬 Ajax 요청이 PHP 서버와 같은 매개변수를 기반으로 해당 데이터를 반환할 수 있습니까? ?

WBOY
WBOY원래의
2016-12-01 01:27:541197검색

로컬 Ajax 요청이 PHP 서버와 같은 매개변수를 기반으로 해당 데이터를 반환할 수 있나요?
이제 웹페이지가 ajax 요청을 통해 PHP로 데이터를 얻을 수 있고 동일한 주소를 통해 다른 데이터 매개변수를 전달하여 다른 데이터를 얻을 수 있다는 것을 알고 있지만 로컬 json 파일을 얻으면 동일한 효과를 얻을 수 있습니까?

답글 내용:

로컬 Ajax 요청이 PHP 서버와 같은 매개변수를 기반으로 해당 데이터를 반환할 수 있나요?
이제 웹페이지가 ajax 요청을 통해 PHP로 데이터를 얻을 수 있고 동일한 주소를 통해 다른 데이터 매개변수를 전달하여 다른 데이터를 얻을 수 있다는 것을 알고 있지만 로컬 json 파일을 얻으면 동일한 효과를 얻을 수 있습니까?

아니요. 리소스는 다른 URL을 기반으로 로컬에서만 구별할 수 있습니다.
서버에서 처리해야 하며 로컬 환경 없이는 구현할 수 없는 다양한 데이터를 반환합니다. 실제로 node를 사용해 간단한 환경을 구성해 볼 수도 있습니다

문제에 대한 설명이 충분히 명확하지 않습니다. xhr.open('post' , url , true) 여기 urlphp/test.php와 같은 서버 스크립트가 아니지만 test.json은 다음과 같습니다. ?

PHP 등의 서버 스크립트를 통해 데이터를 예약하지 않는 경우 파일 내용을 직접 요청할 수 있습니다.

예:
다음은 세 개의 json 파일입니다. test.json , test1.json ,test2.json

<code>js:
var path = 'test.json';  // 只要更换:test1.json || test2.json 就可以切换成不同的内容
xhr.open('post' , path , true); // 
xhr.setRequestHeader('Content-Type' , 'application/x-www-form-urlencoded');
xhr.send();
xhr.onreadystatechange = function(){
    if (this.readyState === 4 && this.status === 200) {
        console.log(this.responseText); // 可以查看到 test.json 中的数据
    }
}</code>

php로 전환해도 효과는 동일합니다.

<code>js:
var sendData = 'require=test';  // 只要更换参数: require test1 || require = test2 就可切换不同内容
xhr.open('post' , 'test.php', true);  
xhr.setRequestHeader('Content-Type' , 'application/x-www-form-urlencoded');
xhr.send(sendData);
xhr.onreadystatechange = function(){
    if (this.readyState === 4 && this.status === 200) {
        console.log(this.responseText); // 可以查看到 test.json 中的数据
    }
}

test.php:
$require = $_POST['require'];
switch ($require)
 {
    case 'test':
       require 'test.json';
       exit;
   case 'test1':
       require 'test1.json';
       exit;
   .....
 }</code>

요약하자면, 개인적으로 php에 처리 기능이 추가된 것 같아서, 처리되지 않은 원시 텍스트 데이터를 직접 요청하기보다는 xhr에서 관련 매개변수를 php로 보내서 처리한 후 다시 피드백하는 것이 좋습니다

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