gpt4 book ai didi

javascript - 如何使用 curl -d body 将 cURL 请求转换为 ajax

转载 作者:行者123 更新时间:2023-11-30 11:32:57 29 4
gpt4 key购买 nike

我正在尝试将 cURL 请求(通过我的 mac 上的终端工作)获取到 jQuery ajax,但我收到了 400 BAD REQUEST。如果您发现我的代码有任何问题,请告诉我。如果有帮助,这是为了尝试使用 Oanda v20 API。

通过终端的 cURL(工作):

body=$(cat << EOF
{
"order": {
"units": "100",
"instrument": "EUR_USD",
"timeInForce": "FOK",
"type": "MARKET",
"positionFill": "DEFAULT"
}
}
EOF
)

curl \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <AUTHENTICATION TOKEN>" \
-d "$body" \
"https://api-fxpractice.oanda.com/v3/accounts/<ACCOUNT>/orders"

jQuery ajax(不工作):

$.ajax({
type: "POST",
url: 'https://api-fxpractice.oanda.com/v3/accounts/' + accountNumber + '/orders',
data: {
"order": {
"units": "10000",
"instrument": "EUR_USD",
"timeInForce": "FOK",
"type": "MARKET",
"positionFill": "DEFAULT"
}
},
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Bearer " + auth)
}, success: function(data){

console.log(data);

}
});

显然,authaccountNumber 等是在此代码之外定义的有效变量。

最佳答案

您的请求的内容类型是application/json,您应该将其添加到请求中并确保内容本身作为字符串发送(使用JSON.stringify):

$.ajax({
...
contentType: 'application/json',
data: JSON.stringify({'order': { ... }}),
...
});

关于javascript - 如何使用 curl -d body 将 cURL 请求转换为 ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45600049/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com