如何获取Proxy中指定的数据

img

请问我要如何拿到该Proxy的Target中指定的JSON对象,点击哪一条就拿哪一条。感谢解惑!

获取数据时遇到Proxy包裹的数据
解决
1、使用toRaw
2、通过json序列化之后可获取值

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    由于问题描述不太清晰,我理解为你想要通过代理获取特定的JSON对象,具体步骤如下:

    1. 确定目标JSON对象的URL 首先需要确定你想要获取的JSON对象的URL地址。

    2. 创建代理服务器 可以通过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上,最后将返回结果返回给客户端。

    1. 在前端页面中使用代理 可以在前端页面中使用ajax或fetch等方式将请求发送到代理服务器上,然后获取目标JSON对象。代码如下:
    fetch(`/proxy?url=${encodeURIComponent('http://targeturl/?param1=value1&param2=value2')}`)
      .then(response => response.json())
      .then(data => console.log(data))
      .catch(err => console.log(err));
    

    这里使用了fetch来发送请求,其中url参数为我们的代理服务器地址,同时将目标JSON对象的URL和请求参数一起通过url参数传递给代理服务器。最后将返回的结果转换为JSON格式即可。

    注:由于浏览器的同源策略限制,直接发送跨域请求的方式往往是不被允许的。因此我们使用代理来绕过同源策略的限制。

    以上是我能给出的一些思路和方案,希望能对你有所帮助。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^