以下代码创建内容为undefined
的警报:
// ==UserScript==
// @name Unnamed Script 188765
// @version 1
// @grant GM.xmlHttpRequest
// @include http*//markasoftware.com/*
// ==/UserScript==
alert(typeof GM.xmlHttpRequest({
url: 'https://google.com',
synchronous: true,
method: 'GET',
}));
基于documentation,我希望使用
synchronous
选项使调用返回响应object
。但是,它的行为与异步调用相同。 onload
处理程序仍然有效。 synchronous
选项是否已禁用?还有其他方法可以同步发出跨域请求吗? 最佳答案
说使用同步模式时返回值将不同的文档是错误的。只需设置在onload
函数之外使用的变量。
let returnData;
GM.xmlHttpRequest({
url: 'https://google.com',
synchronous: true,
method: 'GET',
onload: function(response) {
returnData = response;
}
}));
alert(returnData);
关于javascript - GM.xmlHttpRequest`synchronous`选项不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57661893/