登录
首页 >  Golang >  Go问答

使用 Javascript 从 HTML 页面调用时,Golang REST API PUT 和 DELETE 请求不起作用

来源:stackoverflow

时间:2024-02-29 14:36:25 383浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《使用 Javascript 从 HTML 页面调用时,Golang REST API PUT 和 DELETE 请求不起作用》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

我正在尝试用go编写一个rest api,当我运行postman时,所有方法都工作正常,但是当使用java脚本函数从html页面调用put和delete方法时,它不起作用。有没有相同的替代方案?

这是 main.go 文件中我的 go 处理程序。

func main() {
    router := mux.newrouter()
    router.handlefunc("/", homepagehandler).methods("get")
    router.handlefunc("/demo", createdemodetail).methods("post") // add new row
    router.handlefunc("/demo", getalldemodetails).methods("get") // fetch all details
    router.handlefunc("/demo/{id}", getdemodetail).methods("get") // fetch single row
    router.handlefunc("/demo", updatedemodetails).methods("put") // update single row
    router.handlefunc("/demo", deletedemo).methods("delete")     // delete single row
    log.fatal(http.listenandserve(":8080", router))
}

以下是调用处理程序的 java 脚本函数,

function submitForm(reqtype){
          var form = document.getElementById("demoform");      
    
          if (reqtype == "Delete"){
            form.action = 'http://localhost:8080/demo';
           form.method='PUT';      
          }
          if (reqtype == "Update"){
            form.action = 'http://localhost:8080/demo';
            form.method='DELETE';      
    
          }      
    
          form.submit();
        }
      

如果我将处理程序更改为 router.handlefunc("/updatedemo", updatedemodetails).methods("post") 不仅仅是 /demo 和 post 方法,它可以通过 java 脚本工作,但当它的 demo/ 和方法是放置/删除。

有趣的是,当端点为 demo/ 或 get demo 且方法为 post/get/put/delete 时,它​​与 postman 完美配合。但不是来自带有 javascript 调用的 html 表单。

我应该采取的最佳方法是什么?


正确答案


method attribute 仅支持 GET 和 POST HTTP 动词。

要使用 PUT 或 DELETE,您需要通过 fetchXMLHttpRequest 发出请求。

终于介绍完啦!小伙伴们,这篇关于《使用 Javascript 从 HTML 页面调用时,Golang REST API PUT 和 DELETE 请求不起作用》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>