当前位置: 首页 > 知识库问答 >
问题:

当我将表单发布到特定api时,如何获得响应

长孙瑞
2023-03-14

我已经制作了一个api来获取数据并将其保存到mongo db中

null

const userDB = require('./model/user')

app.post ('/signup', function (req, res){
    userDB.find({username: req.body.username}).
    then (result=>{
        if (result.length == 0) {
            bcrypt.hash(req.body.password, 10, function (err, hash){
                if (err) {
                    res.status(404).json ({
                        message : err
                    })
                }else{
                    const user = new userDB ({
                        username: req.body.username,
                        password: hash
                    })
                    user.save().
                    then(result =>{
                        res.status(200).json({
                            message : 'user had been created'
                        })
                    }).
                    catch(err=>{
                        res.status(404).json({
                            message : err
                        })
                    })
                }
            })
        }else{
            res.status(200).json({
                message : 'user already exist'
            })
        }
    }).
    catch(err=>{
        res.status(404).json ({
            message : err
        })
    })
})

null

并制作了一个html注册表单,将注册信息发布到api

如何在客户端接收api响应,发出操作成功与否的警报

共有2个答案

缪朝
2023-03-14

这完全取决于您在客户端使用了什么,如果您使用的是vanilla JavaScript:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    // register success
  }
  if (this.readyState == 4 && this.status == 404) {
    // register failure
  }
};
xhttp.open("POST", "/signup", true);
xhttp.send();

您应该考虑使用适当的状态代码,404表示页面找不到,这显然不是真的。在您的情况下,500(内部服务器错误)似乎是正确的,因为您使用了404。

弓磊
2023-03-14

如果希望从节点api向发送请求的客户机返回响应,只需在api中使用res.send

res.send(**your data**)

然后,在您的客户端中,只需等待响应或使用。然后

 类似资料:
  • 在json中传递变量中的值时出现以下问题。encode没有得到例外的响应,但是我在传递值时没有得到正确的响应,我尝试使用map和不同的头无法得到确切的问题。 > 不工作 字符串getvalue=“响应值”;var_body=json。编码({“context”:getvalue}); var res=等待http。post(链接,标题:{“内容类型”:“应用程序/json”,},正文:\正文);

  • 我需要通过巴克莱银行处理一个测试订单。为此,我需要发送一些数据,它是如下所示的HTML表单:我尝试将表单存储在如下所示的变量中:给定URL'https://test.barclaycardsmartpay.com/hpp/pay.shtml' 表单字段数据,当方法post然后状态200,我总是得到断断续续的响应说‘不幸的是,我们无法处理请求。’这是用户需要通过巴克莱传递卡信息和处理订单的表单。我正

  • 问题内容: 我有一个特定的Web服务,期望将JSON作为发布内容,并将向后吐出XML。我正在对所有网络通话使用Retrofit。这是我使用XML转换器设置Retrofit适配器的方式: 如您所见,我没有使用Gson转换器。我如何设法发布任何JSON?谢谢! 问题答案: 创建自定义。这将使用不同的转换器进行序列化和反序列化。 用法:

  • 我使用Django REST API和Angular 6作为前端。 我在配置文件模型中定义了一个接受文件输入的ImageField。 在angular应用程序中,我从Base64图像数据生成File对象,并发送到endpoint,标题为Content-type:'multipart/form-data' 编辑2:代码 方法正在使用方法发送数据。

  • 我正忙于一个小的web应用程序,我正试图使用RestService向一个API发布,但却一直收到一个400坏的请求。当我使用失眠Rest客户端做完全相同的帖子时,我会得到200分...你知道我做错了什么吗/我可以看什么来发现发生了什么吗? 更新:原来问题是一个不正确的头,仍然有一个未解决的错误,我正在尝试添加正确的头...此处为问题继续链接 rest.service.ts中的submitStock