【发布时间】:2019-09-16 11:32:33
【问题描述】:
我正在使用 ShipStation API 创建订单,但出现错误 Access to XMLHttpRequest has been blocked, 下面提供的代码是在https://www.shipstation.com/developer-api/#/reference/orders/createupdate-order/create/update-order?console=1 上生成的 所以我在https://tampermonkey.net/ 扩展上使用它,该函数在按钮单击错误截图时被调用
(function () {
'use strict';
const $ = window.jQuery;
$(document).ready(function () {
const AUTHKEY = '112233'
$("#send").on("click", sendRequest)
const sendRequest = () => {
var request = new XMLHttpRequest();
request.open('POST', 'https://ssapi.shipstation.com/orders/createorder');
request.setRequestHeader('Content-Type', 'application/json');
request.setRequestHeader('Authorization', AUTHKEY);
request.onreadystatechange = function () {
if (this.readyState === 4) {
console.log('Status:', this.status);
console.log('Headers:', this.getAllResponseHeaders());
console.log('Body:', this.responseText);
}
};
var body = { 'data is correct just deleted for now': '' };
request.send(JSON.stringify(body));
}
});
})();
【问题讨论】:
-
该端点是要在客户端(即通过浏览器 js)还是服务器端使用?一些 api 端点并不适用于客户端,因为某些详细信息需要与请求一起发送,例如在客户端使用时很容易看到的秘密 api 密钥。如果它用于客户端检查,则根据错误消息在请求中使用正确的 cors 模式
-
嗨,是的,我在“授权”中提供 API 密钥和密钥,这就是我想知道如何在请求中提供正确的 cors 模式
-
如果您需要使用密钥,请不要执行该客户端。这意味着您打算通过您使用的任何语言在服务器上使用该 api,例如 curl 和 php
标签: javascript jquery ajax post xmlhttprequest