Javascript 将cURL转换为jqueryajax
我正试图使用jqueryajax,使用后端团队提供给我的curl来进行API调用Javascript 将cURL转换为jqueryajax,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正试图使用jqueryajax,使用后端团队提供给我的curl来进行API调用 curl -X POST \ https://example1.com/api/sms \ -H 'Accept: application/json' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 's: APP' \ -d '{ "mobile": "1110002222" }'
curl -X POST \
https://example1.com/api/sms \
-H 'Accept: application/json' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 's: APP' \
-d '{
"mobile": "1110002222"
}'
但它抛出了一个403禁止的错误:
Invalid CORS request
这是托管在另一个域名(example2.com)上的代码:
data={mobile:'000111222'};
success=函数(数据){console.log(数据);};
headers={s:'APP'};
$.ajax({
键入:“POST”,
网址:'https://example1.com/api/sms',
数据:数据,
成功:成功,
数据类型:“json”,
标题:标题
});代码>
我已经阅读了您的问题,请尝试以下代码:
var settings = {
"async": true,
"url": "https://example1.com/api/sms",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"s": "APP",
"Cache-Control": "no-cache",
},
"processData": false,
"data": "{\"mobile\": \"1110002222\"}"
}
$.ajax(settings).done(function (response) {
console.log(response);
});
对于这一请求:
curl -X POST \
https://example1.com/api/sms \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 's: APP' \
-d '{"mobile": "1110002222"}'
无效的CORS请求
-这就是您需要研究的。。。科尔斯。。。仅仅因为curl
可以做一些事情,并不意味着浏览器可以。。。浏览器只能向允许跨源请求的服务器发出跨源请求。您是否尝试使用头={'Accept':'application/json','Cache Control':'no Cache','Content Type':'application/json','s':'APP'}来完成这些头?@Jean-claudeclette相同的错误,但谢谢。CORS的问题放在一边,这是一件值得指出的好事。我确实认为JSON.stringify()
会更好,而且jQuery还为$.ajax()
提供了一个特定的contentType
选项crossDomain
在这里也没用是的,我知道jQuery有content-type选项,但我想将cURL请求准确地映射到jQuery-AJAX。我同意你的观点,跨域选项是无用的,所以我删除了它。同样的错误。但是谢谢你。