在react-router中接受POST请求

时间:2018-03-06 18:13:15

标签: reactjs react-router react-router-v4

我的react-router是版本4.2.0

我正在尝试接受对我的React应用程序的POST请求。我可能是盲人,但我无法找到在我的路线上指定请求方法(GET,POST)的方法。

如何设置此项以接受POST请求?

render((
    <BrowserRouter>
      <div>
        <Route exact path="/" history={history} render={() => (
            loggedIn() 
                ? (<MyApp />)
                : (<Redirect to="/login"/>)
        )}/>
        <Route exact path="/login" history={history}  render={() => (
            loggedIn() 
                ? (<Redirect to="/"/>)
                : (<Login />)
        )}/>
      </div>
    </BrowserRouter>
), document.getElementById('app'));

理想情况下,我希望有第3条路由接受POST请求来处理来自供应商的POST。

我找到express-react-router但无法找到/安装“express-location”套餐。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:4)

这是客户端路由。你不能在这里发帖请求。 您需要在快速js服务器上收听发布请求。

在你的serverjs:

In[2]: artist_tuples = [
  ...:     ('House Manhufe','102257.jpg'),
  ...:     ('Bernett Newman','75232.jpg'),
  ...:     ('House Manhufe','32145.jpg'),
  ...:     ('Kiri nichol','20304.jpg'),
  ...:     ('Wolfgang', '48876.jpg'),
  ...:     ('Arabesque','63861.jpg'),
  ...:     ('Francis','99442.jpg')
  ...: ]
In[3]: files = ['102257.jpg','75232.jpg','32145.jpg','20304.jpg']
In[4]: by_filename = {filename: artist for artist, filename in artist_tuples}
In[5]: final_artist_filenames = []
  ...: for filename in files:
  ...:     try:
  ...:         artist = by_filename[filename]
  ...:     except KeyError:
  ...:         pass
  ...:     else:
  ...:         final_artist_filenames.append((artist, filename))
  ...: 
In[6]: final_artist_filenames
Out[6]: 
[('House Manhufe', '102257.jpg'),
 ('Bernett Newman', '75232.jpg'),
 ('House Manhufe', '32145.jpg'),
 ('Kiri nichol', '20304.jpg')]
In[7]: by_filename_only_from_files = {}
  ...: for filename in files:
  ...:     try:
  ...:         artist = by_filename[filename]
  ...:     except KeyError:
  ...:         pass
  ...:     else:
  ...:         by_filename_only_from_files[filename] = artist
  ...: 
In[8]: by_filename_only_from_files
Out[8]: 
{'102257.jpg': 'House Manhufe',
 '20304.jpg': 'Kiri nichol',
 '32145.jpg': 'House Manhufe',
 '75232.jpg': 'Bernett Newman'}

那就可以了。