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