无法使用 POST 方法将带有GM_xmlhttpRequest的数据从 Tampermonkey 发送到 Scalatra。



...它回答:500服务器错误;java.lang.NoSuchMethodError: 'void org.scalatra.servlet.RichRequest.update(java.lang.Object, java.lang.Object(' at...在。。。在。。。。。。
我的代码:

const ajaxobj =
{ method: "POST"
, url: url
, data: '{"q":"anyad"}'   //JSON.stringify(adat)
, dataType: "json"
, headers: { "Content-Type": "application/json" }
, onload: (resp) => { console.log(resp); ... }
}
console.log(ajaxobj)
GM_xmlhttpRequest(ajaxobj)

在控制台.log(ajaxobj(的答案中,我看到:

data: Object { value: "{"q":"anyad"}" }

而不是字符串,而是其"值"成员为字符串的对象。我认为这是 scalatra 不喜欢的,因为我可以从其他地方(Angular(发送一个字符串,它就像一个魅力。
现在有趣的是:
如果我不调用GM_xmlhttpRequest调用(注释掉它(,那么数据将是字符串,而不是对象。

我找到了一个实用的解决方案(但它是如何工作的,为什么它很好,我无法理解背后的理论(: 伪造纯字符串(非 JSON(传输;从 ajax 对象中删除属性 dataType: "json" 和标头: { "Content-Type": "application/json" }。

最新更新