javascript - 是否可以使用 Greasemonkey/tampermonkey 将 GM_xmlhttpRequest 用于我的数据表单?

标签 javascript greasemonkey tampermonkey greasemonkey-4 gm-xmlhttprequest

我目前正在研究 GM_getvalue,但它仅将数据保存在本地存储上。 我想将输入的值保存到 send.php 所在的服务器。

这是我的代码:

var $ = unsafeWindow.jQuery;

$(document).ready(function() {

    if($("#save_form").html()){
        $("#save_form").submit(function(){
            var fullname = $("#name").val();
            var IDnumber = $("#id").val();
            GM_setValue("attendancelogs",GM_getValue("attendancelogs","")+fullname+" "+IDnumber+"<br/>");
        });
    }

有人建议我使用 GM_xmlhttpRequest 但我不知道如何使用它。 他告诉我 GM_xmlhttpRequest 看起来像这样:

jQ(document).on("keyup", "form input", function () {
    let value = GM_getValue("name_full","");
    GM_xmlhttpRequest({
        method: "POST",
        url: "http://....",
        data: value,
        headers: {
            "Content-Type": "application/x-www-form-urlencoded"
        },
        onload: function(response) {
            alert(response);
            var json = $.parseJSON(response); 
        }
    });

最后,send.php 代码是什么?

最佳答案

GM_xmlHttpRequest 只是 XHR 的实现可以绕过SOP .

您可以找到 XHR in general 的文档,或some examples .

您当然需要将以下内容添加到脚本 header 中:

//@grant GM.xmlHttpRequest

关于javascript - 是否可以使用 Greasemonkey/tampermonkey 将 GM_xmlhttpRequest 用于我的数据表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60708631/

相关文章:

javascript - Jquery dataTable 隐藏搜索框但显示条目下拉

javascript - 区分greasemonkey脚本中不同页面的最佳方法?

javascript - document.getElementsByClassName() 不像 getElementById 那样工作?

javascript - Tampermonkey 覆盖 JIRA 快捷方式

javascript - 使用 Tampermonkey 替换许多文本术语,不影响 URL,也不查找类或 id

javascript - 使用 Greasemonkey 打开多个超链接

javascript - 刷新 vue.js 应用程序,无需硬重新加载

javascript - 通过javascript选中填充的下拉值选择复选框

javascript - AXIOS VueJs 在 v-for 中传递响应参数

jquery - 如何使用 GM_xmlhttpRequest 将序列化数组从客户端表单获取到服务器