更改回调函数名称

时间:2016-07-15 23:32:08

标签: javascript ajax callback xmlhttprequest

嗨所以我有这两个函数get()是一个自定义ajax请求函数,你可以看到它有两个参数url工作正常但是func一个回调似乎没有改变func( serverResponse);到document.write(serverResponse);。所以我想知道我到底做错了什么?如果StackOverflow上的一位开发人员能够很快帮助我,那就太棒了。非常感谢 :)

function get(url, func) {
            var xhReq = new XMLHttpRequest();
            xhReq.open("GET", url, false);
            xhReq.send(null);
            var serverResponse = xhReq.responseText;
            func(serverResponse); // Shows "15"
        }

        get('ip.php', 'document.write');

1 个答案:

答案 0 :(得分:1)

get('ip.php', 'document.write');

应该是:

get('ip.php', document.write.bind(document));

前者传递一个字符串;后者通过了一个函数。

也许是一种更典型的方式来做这种事情:

get('ip.php', function (text) {
    document.write(text);
});