【发布时间】:2016-07-15 23:32:07
【问题描述】:
嗨,我有这两个函数,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');
【问题讨论】:
-
同步 ajax 是个可恶的东西
-
A.你为什么使用
document.write? B. 你传递的是一个字符串,而不是一个函数。 C. 你可能需要使用document.write.bind(document)。 -
嗯,我有点需要它,因为我不会使用 3rd-party api 来获取用户 IP 地址。因为我想用我自己的。由于我已经完成了所有工作,我只需要这部分工作
-
你这样做,还不如让服务器直接输出IP,根本不需要ajax。
-
@nnnnnn 你是什么意思我没有传递函数,document.write.bind(document) 有什么区别?
标签: javascript ajax callback xmlhttprequest