Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从ajax调用获取ERR\u EMPTY\u响应_Javascript_Ajax_Go - Fatal编程技术网

Javascript 从ajax调用获取ERR\u EMPTY\u响应

Javascript 从ajax调用获取ERR\u EMPTY\u响应,javascript,ajax,go,Javascript,Ajax,Go,我使用ajax调用从我的服务器端代码(用GOlang编写)调用一个方法,服务器端代码调用一个API,然后我希望它将响应返回到前端。然而,我不断得到ERR\u EMPTY\u响应error。要了解更多信息,我将调用Postman Api来创建一个集合。问题似乎是它没有返回任何信息,但我不知道为什么 JavaScript: $.ajax({ url: "/createCollection", type: "POST", data: JSON.strin

我使用ajax调用从我的服务器端代码(用GOlang编写)调用一个方法,服务器端代码调用一个API,然后我希望它将响应返回到前端。然而,我不断得到
ERR\u EMPTY\u响应
error。要了解更多信息,我将调用Postman Api来创建一个集合。问题似乎是它没有返回任何信息,但我不知道为什么

JavaScript:

$.ajax({
        url: "/createCollection",
        type: "POST",
        data: JSON.stringify(postData),
        timeout : 300000,
        dataType : "json",
        success: function(data) {    
            let json = JSON.parse(data)
            let response = JSON.parse(json)
            //do something with response
        },
        error: function (xhr, status, err) {
            console.log(xhr.status + xhr.statusText)
        },
    });
r.HandleFunc("/createCollection", func(w http.ResponseWriter, r *http.Request){
        body, err := ioutil.ReadAll(r.Body)
        if err != nil {
            log.Printf("Error reading body: %v", err)
            http.Error(w, "can't read body", http.StatusBadRequest)
        }


        var data postmanBody
        if err := json.Unmarshal(body, &data); err != nil {
            fmt.Println("failed to unmarshal:", err)
        }

        project, err := loader.LoadProjectFromConfigFile(projectConfigFile, projectSubViewName)


        response := apiController.CreateJsonThenCallApi(data.XApiKey, data.Environment, project) //Calls the postman Api
        json.NewEncoder(w).Encode(string(response))
    })
Golang:

$.ajax({
        url: "/createCollection",
        type: "POST",
        data: JSON.stringify(postData),
        timeout : 300000,
        dataType : "json",
        success: function(data) {    
            let json = JSON.parse(data)
            let response = JSON.parse(json)
            //do something with response
        },
        error: function (xhr, status, err) {
            console.log(xhr.status + xhr.statusText)
        },
    });
r.HandleFunc("/createCollection", func(w http.ResponseWriter, r *http.Request){
        body, err := ioutil.ReadAll(r.Body)
        if err != nil {
            log.Printf("Error reading body: %v", err)
            http.Error(w, "can't read body", http.StatusBadRequest)
        }


        var data postmanBody
        if err := json.Unmarshal(body, &data); err != nil {
            fmt.Println("failed to unmarshal:", err)
        }

        project, err := loader.LoadProjectFromConfigFile(projectConfigFile, projectSubViewName)


        response := apiController.CreateJsonThenCallApi(data.XApiKey, data.Environment, project) //Calls the postman Api
        json.NewEncoder(w).Encode(string(response))
    })

这里没有足够的信息。您是否已验证
CreateJsonThenCallApi
是否返回响应?如果我忽略
createjsontencalapi
partYes它100%返回响应,那么您的处理程序似乎是正确的,我得到的错误后,它是完全正确的returned@bradleyplater当你最终忽略错误并像什么都没发生一样继续时,为什么还要检查错误?@bradleyplater通过添加
postmanBody
的定义以及
LoadProjectFromConfigFile
CreateJSontencalAPI
的实现来更新你的问题。另外,您没有处理从项目加载方法调用返回的错误,请修复该错误,重新测试,如果您仍然获得相同的行为,请使用新代码更新问题,这样我们就不会在不会导致您试图解决的问题的事情上浪费时间。@mkopriva上面是重现该问题的最小代码量,在我的错误部分,我确实有一些处理错误的代码,但这对这个线程来说并不重要。这里没有足够的信息。您是否已验证
CreateJsonThenCallApi
是否返回响应?如果我忽略
createjsontencalapi
partYes它100%返回响应,那么您的处理程序似乎是正确的,我得到的错误后,它是完全正确的returned@bradleyplater当你最终忽略错误并像什么都没发生一样继续时,为什么还要检查错误?@bradleyplater通过添加
postmanBody
的定义以及
LoadProjectFromConfigFile
CreateJSontencalAPI
的实现来更新你的问题。另外,您没有处理从项目加载方法调用返回的错误,请修复该错误,重新测试,如果您仍然获得相同的行为,请使用新代码更新问题,这样我们就不会在不会导致您试图解决的问题的事情上浪费时间。@mkopriva上面是重现该问题的最小代码量,在我的错误部分,我确实有一些处理错误的代码,但这对这个线程并不重要