Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ajax&;需要javascript帮助(我需要替换少量代码)_Javascript_Jquery_Ajax_Function - Fatal编程技术网

ajax&;需要javascript帮助(我需要替换少量代码)

ajax&;需要javascript帮助(我需要替换少量代码),javascript,jquery,ajax,function,Javascript,Jquery,Ajax,Function,我有一个脚本需要修改。 当前脚本侦听我的键盘输入并输出我想要的内容 我希望它做什么,而不是把我想要的事先直接放到脚本中,简单地使文本=一个.txt文档中的文本。 因此,我没有直接编辑脚本,而是输入文档并保存它 示例如下: $.ajax("/TEST.txt").success(function (text) { e = text; next() }); 我想用类似于上述示例的内容来替换我目前拥有的内容,如下所示: var e = { a: "apple", b:"ball"}; 完整的工作

我有一个脚本需要修改。 当前脚本侦听我的键盘输入并输出我想要的内容

我希望它做什么,而不是把我想要的事先直接放到脚本中,简单地使文本=一个.txt文档中的文本。 因此,我没有直接编辑脚本,而是输入文档并保存它

示例如下:

$.ajax("/TEST.txt").success(function (text) {  e = text; next() });
我想用类似于上述示例的内容来替换我目前拥有的内容,如下所示:

var e = { a: "apple", b:"ball"};
完整的工作代码在下面,变量e靠近脚本的中心

javascript: (function () {
    function s(r) {
        var i = r[5];
        if (n && e[i]) {
            var s = w.getTile(r[0], r[1]);
            var a = r[2] * 16 + r[3];
            s._pendingEdits[a].length = 0;
            s.getCell(r[2], r[3]).innerHTML = " ";
            var f = e[i];
            var l = f.split("\n");
            var c = o(l);
            var h = [];
            for (var p = 0; p < l.length; p++) {
                var d = l[p].replace("{b}", "");
                for (var v = 0; v < d.length; v++) {
                    t = Math.max(t, v + 1);
                    var m = u(r, d.charAt(v), v, -c + p + 1);
                    var s = w.getTile(m[0], m[1]);
                    if (!Permissions.can_edit_tile(w.userModel, w.worldModel, s)) continue;
                    s && s.tellEdit(m[2], m[3], m[5], m[4]);
                    var g = s.getCell(m[2], m[3]);
                    g.innerHTML = Helpers.escapeChar(m[5]);
                    h.push(m)
                }
            }
            return h
        } else {
            return [r]
        }
    }

    function o(e) {
        var t = 0;
        for (var n = 0; n < e.length; n++) {
            t++;
            if (e[n].indexOf("{b}") >= 0) {
                break
            }
        }
        return t
    }

    function u(e, t, n, r) {
        var i = f(a(e[0], e[2], 8) + r, 8);
        var s = f(a(e[1], e[3], 16) + n, 16);
        return [i[0], s[0], i[1], s[1], e[4] + 10, t]
    }

    function a(e, t, n) {
        return n * e + t
    }

    function f(e, t) {
        return [Math.floor(e / t), ((e < 0 ? t : 0) + e % t) % t]
    }

    function l(e) {
        if (e.keyCode === $.ui.keyCode.ENTER) {
            t = r
        }
        d.call(this, e);
        t = 1
    }

    function h(e, t) {
        c[e] = w[e];
        w[e] = function () {
            w._super = function () {
                c[e].apply(w, arguments)
            };
            t.apply(w, arguments)
        }
    }

    function p(e) {
        if (e.which == 3) {
            console.log("Big Font Turned Off");
            STOP_POST = true;
            $(document).unbind("keydown", l).bind("keydown", d);
            $(window).unbind("mousedown", p);
            for (var t in c) {
                w[t] = c[t]
            }
        }
    }
    var e = {

      a: "apple",
      b:"ball"
    };
    var t = 1,
        n = false,
        r = 1;
    for (var i in e) {
        r = Math.max(r, e[i].split("\n").length)
    }
    var c = {};
    h("typeChar", function (e) {
        n = true;
        var t = this._super(e);
        n = false;
        return t
    });
    h("moveCursor", function (e, n) {
        for (var r = 0; r < t; r++) {
            n = this._super.call(this, e, n)
        }
        t = 1
    });
    h("queueEdit", function (e) {
        var t = s(e);
        for (var n = 0; n < t.length; n++) {
            this._super(t[n])
        }
    });
    h("sendEdits", function () {
        if (!this._edits.length) return;
        jQuery.ajax({
                type: "POST",
                url: window.location.pathname,
                data: {
                    edits: JSON.stringify(this._edits.splice(0, 199))
                },
                success: this.editsDone,
                dataType: "json",
                error: this.editsError
            });
        return this._edits = []
    });
    h("editsDone", function () {
        if (this._edits.length > 0) {
            this.sendEdits()
        }
        return this._super.apply(this, arguments)
    });
    var d = $(document).data("events").keydown[0].handler;
    $(document).unbind("keydown", d);
    $(document).bind("keydown", l);
    $(window).bind("mousedown", p);
    console.log("Big Font Turned On!")
})()
javascript:(函数(){
函数s(r){
var i=r[5];
if(n&e[i]){
var s=w.getTile(r[0],r[1]);
var a=r[2]*16+r[3];
s、 _pendingEdits[a]。长度=0;
s、 getCell(r[2],r[3])。innerHTML=“”;
var f=e[i];
var l=f.split(“\n”);
var c=o(l);
var h=[];
对于(var p=0;p=0){
打破
}
}
返回t
}
函数u(e,t,n,r){
var i=f(a(e[0],e[2],8)+r,8);
var s=f(a(e[1],e[3],16)+n,16);
返回[i[0],s[0],i[1],s[1],e[4]+10,t]
}
函数a(e,t,n){
返回n*e+t
}
函数f(e,t){
返回值[数学下限(e/t),((e<0?t:0)+e%t)%t]
}
函数l(e){
如果(e.keyCode==$.ui.keyCode.ENTER){
t=r
}
d、 调用(this,e);
t=1
}
函数h(e,t){
c[e]=w[e];
w[e]=函数(){
w、 _super=函数(){
c[e]。应用(w,参数)
};
t、 应用(w,参数)
}
}
功能p(e){
如果(e.which==3){
log(“关闭大字体”);
STOP_POST=true;
$(文档)。解除绑定(“键控”,l)。绑定(“键控”,d);
$(窗口)。解除绑定(“鼠标向下”,p);
for(c中的变量t){
w[t]=c[t]
}
}
}
变量e={
a:“苹果”,
b:“球”
};
var t=1,
n=假,
r=1;
用于(e中的变量i){
r=Math.max(r,e[i].split(“\n”).length)
}
var c={};
h(“typeChar”,函数(e){
n=正确;
var t=这个.\u super(e);
n=假;
返回t
});
h(“移动光标”,函数(e,n){
对于(var r=0;r0){
this.sendEdits()
}
返回此。\u super.apply(此,参数)
});
var d=$(document).data(“events”).keydown[0].处理程序;
$(文档)。解除绑定(“向下键”,d);
$(文件).bind(“向下键”,l);
$(窗口).bind(“mousedown”,p);
log(“打开大字体!”)
})()

您当前的数据似乎是一个javascript对象,完美地表示为json字符串,因此:

// Javascript file
var e = "";

$.ajax({
  dataType: "json",
  url: "/TEST.json",
  success: function (data) {  
    e = data; 
    next();
  })
});

// TEST.json
{
  "a" : "Text1",
  "b" : "Text2"
}
我假设next()函数用于使用e变量初始化脚本,但我认为您可以通过将e变量作为下一个函数的参数传递来改进这一点,如
next(e)

这意味着您不需要在ajax请求之外初始化
e
,从而防止命名空间污染


JSON基本上是格式化文本,因此它同时解决了您最终的“我的数据格式将是什么”问题。

您究竟为什么要手动编写缩小的代码?我不确定我是否理解,是否要读取文本文件并将其内容返回到代码中?哇,您正在发布格式化的精简代码,现在请其他人为您修复?