是否可以在获取选项中传递数据?

时间:2018-01-29 12:57:56

标签: javascript reactjs express cors fetch

我有一个反应客户端应用程序。

我想用express打包它,以便在我从API获取数据时遇到CORS个问题。

现在我的所有fetch es都发生在客户端,并带有一些端点网址。

如果我错了,请告诉我。 为了正确地重写我的获取请求,我从我的server.js中定义的路由端点获取权利吗?

在我的server.js中,我会从API中制作实际的fetch,对吧?

如果是的话,我还有另一个问题:

在我的客户端,我有一些逻辑将决定fetch's url将如何。

我的问题:我可以将正确的网址作为某种数据传递到我的获取请求中,因此我可以在服务器端使用它来制作实际的API获取?

这是我的代码示例以及我尝试理解的内容:

const { current, amount, page} = this.pagination;
const { client_id, search } = this.API;

const limit = `_limit=${amount}`;
let currentPage;
let url;

if(this.isFetching) return;

if(direction == 'next'){
   this.pagination.current = current + amount;
   currentPage = page + 1
   let offset = `_offset=${this.pagination.current}`;        
} else {
if(page !== 1) {
    this.pagination.current = current - amount;
    currentPage = page - 1
    let offset = `_offset=${this.pagination.current}`;           
} 

url = `${search}${client_id}&${limit}&${offset}`;   //  Here is the final url

fetch('/api', {data: url})   //  PSUEDO use of fetch, is it possible?
    .then(response => response.json())       
         .then(data => {
             this.fetchedProperties = [...data.search_results];
             this.pagination.page = currentPage; 
             this.isFetching = false;                                  
         });
}

1 个答案:

答案 0 :(得分:-1)

将数据从客户端传递到HTTP端点的常规方法是将其编码为查询字符串。

http://example.com/fetch?url=http%3A%2F%2Fwww.example.net%2Ffoo%2Fbar%3Fquery%3Dsomething%26etc%3Detc