8

我想通过 fetch API 将一些数据发送到服务器,以便它可以基于此查询数据库。与 Ajax 不同,我找不到任何合适的方法来做到这一点。这是我的 fetch 调用:

{fetch("http://192.168.90.53:4000/game/?email=adicool2294@gmail.com", {method: "GET"} )
        .then((response) => response.json())
        .then((responseData) => {
            id= responseData.id;
            name= responseData.name; 
            console.log(responseData);
        })
       .catch((error) => {
             console.warn(error);
           }); 
  }
}

我想发送一个参数,例如电子邮件,以便服务器可以使用它来查询数据库。我正在使用 react-native android,因此不能使用 Ajax 请求。我只想使用 GET 方法。目前,服务器未在 req.query 中显示我在 URL 中传递的查询参数

4

3 回答 3

10

GET 请求不支持正文,并且必须在 URL 中发送参数,如您在示例中所示。如果您无法在服务器端看到它们,则可能是服务器存在问题,应作为单独的问题提出。

作为健全性测试,在使用 fetch 实现调用之前,在浏览器(或 Postman 等工具)中导航到该 URL 并测试结果是否正确,以便您至少确认它是服务器问题还是 JavaScript问题。

于 2016-01-02T20:10:04.003 回答
2

尝试使用 %40 转义 @ 字符或执行类似的操作{fetch("http://192.168.90.53:4000/game/?email=" + encodeURIComponent('adicool2294@gmail.com'), {method: "GET"} )...

于 2018-05-09T01:05:05.390 回答
-2
You can add that like below

fetch("http://192.168.90.53:4000/game", obj)  
.then(function(response) => response.json())
.then((responseData) => {
  id = responseData.id;
  name = responseData.name; 
  console.log(responseData);
},
.catch((error) => {
  console.warn(error);
}); 

var obj = {  
  method: 'POST',
  body: JSON.stringify({
    'email': your_email_here,
  })
};
于 2015-12-31T09:11:56.117 回答