如何将此curl请求转换为javascript中的ajax调用? (原始js或任何图书馆的答案都很好)
卷曲:
curl -H "Content-Type: application/json" -d '{"foo":0, "bar": 0, "baz":"test"}' -X GET http://localhost:8080/public/v1/state/HelloWorld
我在ajax调用中尝试过的网址(它出现了404错误):
GET http://192.168.56.101:8080/public/v1/state/HelloWorld?foo=0&bar=0&baz=test
代码
return axios.get(switchDomain + '/public/v1/state/HelloWorld', {
params: {
foo: 0,
bar: 0,
baz: "BER",
}
})
.then(function(response){
console.log('perf response', response);
});
答案 0 :(得分:3)
-d
似乎会将您的CURL请求转换为POST
,无论您使用-X
选项,所以:
var req = new XMLHttpRequest();
req.open( "POST", "http://localhost:8080/public/v1/state/HelloWorld", true);
req.send("foo=0&bar=0&baz=test");
最后,您可能需要在req.open
之后和req.send
之前添加内容类型标头。
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
或者如您在问题中发布的那样,您可能希望将其作为JSON发送
var req = new XMLHttpRequest();
req.open( "POST", "http://localhost:8080/public/v1/state/HelloWorld", true);
req.setRequestHeader("Content-Type", "application/json");
req.send(JSON.stringify({
foo: 0,
bar: 0,
baz: "test"
}));