Home  >  Article  >  Backend Development  >  javascript - Can local ajax requests return corresponding data based on parameters like a php server? ?

javascript - Can local ajax requests return corresponding data based on parameters like a php server? ?

WBOY
WBOYOriginal
2016-12-01 01:27:541133browse

Can local ajax requests return corresponding data based on parameters like a php server?
I now know that the web page can get the data in php through ajax request, and can pass different data parameters to obtain different data through the same address, but can the same effect be achieved if it obtains a local json file?

Reply content:

Can local ajax requests return corresponding data based on parameters like a php server?
I now know that the web page can get the data in php through ajax request, and can pass different data parameters to obtain different data through the same address, but can the same effect be achieved if it obtains a local json file?

No, resources can only be distinguished locally based on different URLs.
Return different data. This needs to be processed by the server and cannot be implemented without a local environment. In fact, you can try to use node to set up a simple environment

The description of the problem is not clear enough. What you mean by getting the local json file is: xhr.open('post', url, true) The url here is not a server like: php/test.php The script is instead test.json like this? ?

If you do not schedule data through a server script such as php, you can directly request the file content.

For example:
There are three json files here: 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>

If you change it to php, it will have the same effect:

<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>

In summary, I personally feel that php has added processing functions, so it is recommended that xhr send relevant parameters to php for processing and then feed back the data, instead of directly requesting unprocessed raw text data

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn