Javascript 从ajax调用获取ERR\u EMPTY\u响应
我使用ajax调用从我的服务器端代码(用GOlang编写)调用一个方法,服务器端代码调用一个API,然后我希望它将响应返回到前端。然而,我不断得到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
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上面是重现该问题的最小代码量,在我的错误部分,我确实有一些处理错误的代码,但这对这个线程并不重要