如何使用 Angular 中的 delete 方法在 body 中传递数据?

阿迪亚P

我创建了以下 AWS lambda 函数,目的是定义软删除和硬删除我的产品。

exports.handler = async (event) => { 
    const product = JSON.parse(event.body);
    let sql;
    let msg;
    let values;
   if (product.action == 'delete')  {
        sql = "UPDATE product_table SET isDeleted=1, deletedon=? WHERE product_id=?";
        msg = 'The product has been sucessfully deleted';
        values = new Date();
    } else if (product.action == 'restore') {
        sql = "UPDATE product_table SET isDeleted=0, deletedon=? WHERE product_id=?";
        msg = 'The product has been successfully restored';        
        values = null;
    }
    
    try {    
        const data = await new Promise((resolve, reject) => {
            connection.getConnection(function (err) {   
                if (err) {
                    reject(err);     
                }
            connection.query(sql, [values, product.product_id], function (err, result) {
                    if (err) {  
                        console.log("Error->" + err);     
                        reject(err);        
                    }         
                    resolve(result);  
                });     
            });  
        }); 
        
        return { 
            statusCode: 200,  
            body: JSON.stringify(msg)
        };     
    } catch (err) {    
        return {   
            statusCode: 400,   
            body: JSON.stringify(err.message) 
        };
    }
};

这个想法是使用 API 中的单个删除方法,并在 JSON 对象中传递 id 和 action 值,以在删除和恢复之间进行切换。

我能够在 Postman 上完成这项工作,但不能从我的 Angular 应用程序中获得。我正在传递值,就像我使用 POST 方法一样。你能帮我解决我所缺少的吗?

下面是角度代码:

deleteProductData(product_id:number,action:string) {
      const header: HttpHeaders = new HttpHeaders()
          .append('Content-Type', 'application/json; charset=UTF-8')
      const httpOptions = {
          headers: header,
          body:JSON.stringify({ "product_id": product_id,"action":action })
      };    
     return this.http.delete<any>(this.productGetUrl, httpOptions);
  }

阿迪亚P

发现问题。我的配置不正确。

我试图在“主体”中发送删除方法的数据,但不知道删除方法仅支持 queryStringParameters 或 pathParameters。

我能够通过类似于我配置 GET 请求的方式重构我的后端来解决这个问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过Angular js中的DELETE方法发送数据

Angular中的Delete方法不删除

如何从CasperJS中的“ then”方法传递数据?

如何读取在组件angular中的路由url中传递的数据

如何在Angular 6中使用http delete()

如何在Angular2中的DELETE请求中传递参数

如何在Angular 2中注入document.body

如何在 Angular 的 body 标签中添加事件?

如何在角度2中将Body传递到POST方法

Angular:如何通过Injector传递ngComponentOutlet中的数据

如何在Angular Js中通过Ajax传递JSON数据

使用Angular中的安全导航传递整个数据

如何使用delete方法从Google数据存储区以及我的HTML页面中删除元素?

方法delete_if在Ruby中如何工作?

如何使用javascript中的GET方法在ajax调用中传递数据

在DELETE请求的主体中传递数据

使用在componentdidmount方法中传递给组件的数据

如何使用属性绑定将数据传递到angular html组件中的输入

如何使用getElementsByTagName()方法获取body标签的内容并将其存储在变量中

如何使用javascript中的setInterval方法来改变body的背景色?

如何在方法调用中传递数据和使用用户输入

如何使用列表传递班级中的数据

如何使用TypeScript在reactjs中传递数据

如何使用http方法获取Angular中的文件列表

如何使用 Angular 中的 Typescript 方法更改 CSS 样式?

如何使用带有PHP后端的Angular http.delete从表中删除记录?

将数据从Node.js传递到NWJS中的angular的正确方法(node-webkit)

有什么方法可以将动态数据传递给Angular中的组件?

在 Moodle 的 body 中传递参数