请问我要如何拿到该Proxy的Target中指定的JSON对象,点击哪一条就拿哪一条。感谢解惑!
获取数据时遇到Proxy包裹的数据
解决
1、使用toRaw
2、通过json序列化之后可获取值
由于问题描述不太清晰,我理解为你想要通过代理获取特定的JSON对象,具体步骤如下:
确定目标JSON对象的URL 首先需要确定你想要获取的JSON对象的URL地址。
创建代理服务器 可以通过Node.js来创建一个简单的代理服务器,代码如下:
const http = require('http');
const url = require('url');
const request = require('request');
http.createServer((req, res) => {
let targetUrl = 'http://targeturl'; // 替换为目标JSON对象的URL
let reqUrl = req.url;
// 解析请求URL里的参数
let query = url.parse(reqUrl, true).query;
let params = '?';
for(let key in query) {
params += `${key}=${query[key]}&`;
}
params = params.substring(0, params.length-1);
targetUrl += params;
// 发送代理请求
req.pipe(request(targetUrl)).pipe(res);
}).listen(8080, () => {
console.log('Server is running on port 8080.');
});
这样我们就创建了一个简单的代理服务器,它可以接收客户端发送的请求,然后转发到目标JSON对象的URL上,最后将返回结果返回给客户端。
fetch(`/proxy?url=${encodeURIComponent('http://targeturl/?param1=value1¶m2=value2')}`)
.then(response => response.json())
.then(data => console.log(data))
.catch(err => console.log(err));
这里使用了fetch来发送请求,其中url参数为我们的代理服务器地址,同时将目标JSON对象的URL和请求参数一起通过url参数传递给代理服务器。最后将返回的结果转换为JSON格式即可。
注:由于浏览器的同源策略限制,直接发送跨域请求的方式往往是不被允许的。因此我们使用代理来绕过同源策略的限制。
以上是我能给出的一些思路和方案,希望能对你有所帮助。