XMLHttpRequest状态永远不会变为DONE

时间:2018-08-30 17:18:16

标签: javascript html ajax model-view-controller

我有这个mvc核心应用程序。它的方法之一看起来像这样(暂时)

    public IActionResult Call(string call)
    {
        Response.ContentType = "text/plain";
        return Ok (call);
    }

和浏览器中的javascript就像这样

        var xhttp = new XMLHttpRequest();
        xhttp.withCredentials = true;
        xhttp.open("GET", request, true);
        xhttp.onreadystatechange = function ()
        {
            if (this.readyState == 4)
            {
                if (this.status == 200)
                {
                    SetAnswerText(this.responseText);
                }
                else
                {
                    SetApiCallTextAreaValue("request - \n" + request + "\n failed; status = " + this.status);
                }
            }
            else
            {
                SetApiCallTextAreaValue("current status is " + this.readyState + "\n" + this.responseText);
            }
        }

由于某种原因,我只收到带有readystate == 3(LOADING)的通知,而从没有..带有readystate == 4(DONE)的通知。

您能帮我弄清楚为什么会发生吗?

顺便说一句,如果我在https://..../Call/?call=123之类的浏览器中打开此Call方法的网址,那绝对可以正常工作。

1 个答案:

答案 0 :(得分:0)

omg ..忘记将函数名称从SetAnswerText更改为SetApiCallTextAreaValue。 要多睡点.. 仅当我在浏览器:P

中查看代码时才发现错误