我已经按照npm包文档中的建议编写了一个axios POST请求
var data = {
'key1': 'val1',
'key2': 'val2'
}
axios.post(Helper.getUserAPI(), data)
.then((response) => {
dispatch({type: FOUND_USER, data: response.data[0]})
})
.catch((error) => {
dispatch({type: ERROR_FINDING_USER})
})
Run Code Online (Sandbox Code Playgroud)
它工作正常,但现在我修改了我的后端API以接受Headers
内容类型:'application/json'
授权:'JWT fefege ......'
现在这个请求在POSTMAN上工作正常,但是在写一个axios调用时,我遵循这个链接并且不能让它工作.
我正在得到 400 BAD Request
这是我修改过的请求
axios.post(Helper.getUserAPI(), {
headers: {
'Content-Type': 'application/json',
'Authorization': 'JWT fefege...'
},
data
})
.then((response) => {
dispatch({type: FOUND_USER, data: response.data[0]})
})
.catch((error) => {
dispatch({type: ERROR_FINDING_USER})
})
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏
提前致谢.
对于类组件,this.setState如果在事件处理程序内部则调用批处理.但是如果在事件处理程序之外更新状态并使用'useState'钩子会发生什么?
function Component() {
const [a, setA] = useState('a');
const [b, setB] = useState('b');
function handleClick() {
Promise.resolve().then(() => {
setA('aa');
setB('bb');
});
}
return <button onClick={handleClick}>{a}-{b}</button>
}
Run Code Online (Sandbox Code Playgroud)
它会useState马上渲染吗?或者它会是aa - bb然后aa - b呢?
我不知道这个问题是否有意义,但我想知道是否有任何方法可以获得写入的数据http.ResponseWriter.我需要它logging.
我在Golang写了一个api.
func api1(w http.ResponseWriter, req *http.Request) {
var requestData MyStruct
err := json.NewDecoder(req.Body).Decode(&requestData)
if err != nil {
writeError(w, "JSON request is not in correct format")
return
}
log.Println(" Request Data :", req.Body) // I am logging req
result, err := compute() // getting result from a function
if err != nil {
errRes := ErrorResponse{"ERROR", err}
response, er = json.Marshal(errRes) // getting error response
} else {
response, er = json.Marshal(result)
}
if er …Run Code Online (Sandbox Code Playgroud) 我在让reducer与React上下文一起工作时遇到麻烦。在中buttonbar.js,有两个按钮应该用来更新状态。通过过滤当前数据来更新状态。单击按钮,我没有收到任何错误,但是它也没有执行任何操作。我认为问题出在减速器上。
context.js
import React, { useState, useEffect } from "react";
import * as moment from "moment";
import axios from "axios";
export const Context = React.createContext();
const url = "https://projects.fivethirtyeight.com/polls/polls.json";
export const filterReducer = (state, action) => {
switch (action.type) {
case "SHOW_ALL":
return state.polls;
case "SHOW_APPROVAL":
return state.polls.filter(e => e.type === "trump-approval");
default:
return state.polls;
}
};
export function Provider({ children }) {
let intialState = {
polls: [],
dispatch: action => this.setState(state => filterReducer(state, action)) …Run Code Online (Sandbox Code Playgroud) 我知道[]string我可以使用字符串数组,strings.Join(a []string, ',')但我想对整数数组做同样的事情[]int。
我的用例是这样的查询 where variantsis[]map[string]int
var Ids []int
sqlStr := "select id from mapping where my_id in ("
for _, mp := range variants {
sqlStr += "?,"
Ids = append(Ids, mp["id"])
}
sqlStr = strings.TrimRight(sqlStr, ",")
rows, err := db.Query(sqlStr+")", strings.Join(Ids, ',')) // I can't do this because Join needs String array
Run Code Online (Sandbox Code Playgroud)
如何实现这一目标?
我无法访问XYZ组件。现在,我要检测是否单击了该组件。
render () {
return(
<XYZ className="abc" ref={node => {this.pop = node}} /> // Note, I don't have access to XYZ component
)}
Run Code Online (Sandbox Code Playgroud)
通过阅读各种文章,我发现:
handleClickOutside(e){
if (this.pop.contains(e.target)){
// not clicked outside
}
}
Run Code Online (Sandbox Code Playgroud)
我得到Contains is undefined的this.pop是一个React component。如何解决呢?
关于错误处理应该怎么做,我有点困惑.我已经阅读了很多关于它的帖子,但仍然无法将它们应用于我的代码结构.我是新来的,所以请帮忙.
有一个主要功能,它处理两个api:api1和api2
func main() {
http.HandleFunc("/offers", api1)
http.HandleFunc("/getOffersList", api2)
err := http.ListenAndServe(":8080", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
func api1(w http.ResponseWriter, req *http.Request) {
validateRequestHeader(w, req, "GET")
// code here....
}
func api2(w http.ResponseWriter, req *http.Request) {
validateRequestHeader(w, req, "POST")
//code here....
}
func validateRequestHeader(w http.ResponseWriter, req *http.Request, allowedMethod string) {
// allow cross domain AJAX requests
w.Header().Set("Content-Type", "application/json")
if origin := req.Header.Get("Origin"); origin != "" {
w.Header().Set("Access-Control-Allow-Origin", origin)
w.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE") …Run Code Online (Sandbox Code Playgroud) 我在我的反应应用程序中有一个axios请求,我正在遵循axios npm docs.
这是我的axios请求
axios.post(helper.getLoginApi(), data)
.then((response) => {
console.log(response);
this.props.history.push(from.pathname)
})
.catch((error)=> {
console.log(error);
})
Run Code Online (Sandbox Code Playgroud)
我能够成功记录成功请求的数据.但是,当我故意产生错误并尝试console.log时,我没有得到结果记录,我只是看到了
POST HTTP://本地主机:3000 /登录 401(未授权):3000 /登录:1
错误:请求失败,状态码401 login.js:66at createError(createError.js:16)
在定居(settle.js:18)
在XMLHttpRequest.handleLoad(xhr.js:77)
但是,当我在Chrome控制台中转到"网络标签"时,我会看到以下回复.
提前感谢您的帮助.
我试图获得价值TTFB和连接价值
c := exec.Command(
"curl", "-w",
"Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total}",
"-o",
"/dev/null",
"http://my.domain/favicon.ico")
cID, err := c.Run()
fmt.Printf("%s", cID)
Run Code Online (Sandbox Code Playgroud)
它打印出像刺痛一样的东西
Connect: 0.205 TTFB: 0.353 Total time: 0.354
Run Code Online (Sandbox Code Playgroud)
但是,我只需要TTFB , Connect, Total timegolang变量中的value 值.
另外,有没有什么办法可以在没有专门使用curl的情况下获得值?
我正在尝试通过命令行向我的 api 发出 curl get 请求。
curl http://localhost:8080/getList?id=100&mrp=50&discount=0
Run Code Online (Sandbox Code Playgroud)
但是当我在我的 api 中记录请求时,我得到:
&{GET /getList?id=100 HTTP/1.1 1 1 which means that only id is being sent through the request. I don't understand why it is happening.
Run Code Online (Sandbox Code Playgroud) go ×4
reactjs ×4
axios ×2
curl ×2
react-hooks ×2
content-type ×1
get ×1
http ×1
http-headers ×1
http-post ×1
javascript ×1
json ×1
node.js ×1
unix ×1