Ajax responseText什么都不返回,但是当console.logging ajax对象时,值会出现

时间:2017-11-16 20:13:48

标签: javascript xmlhttprequest

我有一个非常简单的ajax调用,该调用是从名为php的{​​{1}}文件中提取的,出于我们的目的,functions.php正在回应“这有效!”。这是我非常简单的functions.php电话代码:

ajax

这是const ajax = new XMLHttpRequest(); const url = "/layout-1/functions.php"; ajax.open("GET", url); ajax.onload = handleAjax(ajax); ajax.send() const response = ajax.response; console.log(ajax); console.log(response); 函数(虽然不太适用):

handleAjax()

在上面的function handleAjax(xh) { "use strict"; if (xh.readyState === 4) { switch (xh.status) { case 401: console.log("You are unauthroized to access this"); break; case 403: console.log("This is a forbidden asset"); break; case 404: console.log("Can't find the asset"); break; case 500: console.log("Server failure"); break; } } } 调用之后,我是console.logging两件事:我创建的ajax对象和该对象上的属性ajax。在对象的日志中,我可以看到文本“这个工作!”,但在变量response的日志中,我什么也没得到,它只是空白。我也尝试过记录response,同样的事情发生了,只是console.log中的一个空行。
为什么对象中存在响应,但是当我尝试直接访问响应时,它是空白的?

编辑:

我不知道这个问题是如何适用于我的,因为我没有在我的响应文本中得到未定义,发生的事情是响应返回一个空字符串,但是正确的响应生活在responseText对象中。也许我错过了相关问题中的一些内容,但我认为我没有。

0 个答案:

没有答案